@polyester/sdk 0.27.2 → 0.28.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 (57) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/catalogs/readers.js +6 -6
  3. package/dist/catalogs/readers.js.map +1 -1
  4. package/dist/gen/ledger/read/v1/ledger_read_pb.d.ts +3 -3
  5. package/dist/gen/ledger/read/v1/ledger_read_pb.js.map +1 -1
  6. package/dist/gen/marketdata/v1/heatmap_pb.d.ts +6 -6
  7. package/dist/gen/marketdata/v1/heatmap_pb.js.map +1 -1
  8. package/dist/gen/marketdata/v1/marketdata_pb.d.ts +13 -13
  9. package/dist/gen/marketdata/v1/marketdata_pb.js.map +1 -1
  10. package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts +8 -8
  11. package/dist/gen/marketoverview/v1/marketoverview_pb.js +1 -1
  12. package/dist/gen/marketoverview/v1/marketoverview_pb.js.map +1 -1
  13. package/dist/gen/orderbook/v1/orderbook_pb.d.ts +1 -1
  14. package/dist/gen/orderbook/v1/orderbook_pb.js.map +1 -1
  15. package/dist/gen/orders/v1/orders_pb.d.ts +38 -24
  16. package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -1
  17. package/dist/gen/orders/v1/orders_pb.js +3 -3
  18. package/dist/gen/orders/v1/orders_pb.js.map +1 -1
  19. package/dist/gen/orders/v1/orders_read_pb.d.ts +17 -10
  20. package/dist/gen/orders/v1/orders_read_pb.d.ts.map +1 -1
  21. package/dist/gen/orders/v1/orders_read_pb.js +3 -3
  22. package/dist/gen/orders/v1/orders_read_pb.js.map +1 -1
  23. package/dist/gen/triggers/v1/triggers_pb.d.ts +40 -26
  24. package/dist/gen/triggers/v1/triggers_pb.d.ts.map +1 -1
  25. package/dist/gen/triggers/v1/triggers_pb.js +7 -1
  26. package/dist/gen/triggers/v1/triggers_pb.js.map +1 -1
  27. package/dist/index.d.ts +2 -2
  28. package/dist/index.js +2 -2
  29. package/dist/services/heatmap/heatmap.schemas.d.ts +4 -4
  30. package/dist/services/market-data/market-data.schemas.js +1 -1
  31. package/dist/services/market-data/market-data.schemas.js.map +1 -1
  32. package/dist/services/orderbook/orderbook.schemas.d.ts +1 -1
  33. package/dist/services/orders/orders-batch.schemas.d.ts +17 -0
  34. package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
  35. package/dist/services/orders/orders-batch.schemas.js +3 -1
  36. package/dist/services/orders/orders-batch.schemas.js.map +1 -1
  37. package/dist/services/orders/orders.d.ts +4 -4
  38. package/dist/services/orders/orders.js +4 -4
  39. package/dist/services/orders/orders.js.map +1 -1
  40. package/dist/services/subaccounts/subaccounts.schemas.d.ts +2 -2
  41. package/dist/services/triggers/trigger-input.schemas.d.ts +3 -3
  42. package/dist/services/triggers/triggers-output.schemas.d.ts +7 -3
  43. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
  44. package/dist/services/triggers/triggers-output.schemas.js +4 -2
  45. package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
  46. package/dist/services/triggers/triggers.codecs.js +6 -3
  47. package/dist/services/triggers/triggers.codecs.js.map +1 -1
  48. package/dist/shared/connect-error-mapping.d.ts.map +1 -1
  49. package/dist/shared/connect-error-mapping.js +7 -1
  50. package/dist/shared/connect-error-mapping.js.map +1 -1
  51. package/dist/shared/decimal-surface.js +2 -2
  52. package/dist/shared/errors.d.ts +9 -3
  53. package/dist/shared/errors.d.ts.map +1 -1
  54. package/dist/shared/errors.js +12 -1
  55. package/dist/shared/errors.js.map +1 -1
  56. package/dist/utils/numbers.js.map +1 -1
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"orders_pb.js","names":[],"sources":["../../../../src/gen/orders/v1/orders_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v2.13.0 with parameter \"target=ts,import_extension=js\"\n// @generated from file orders/v1/orders.proto (package orders.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 { Timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_google_protobuf_timestamp } from \"@bufbuild/protobuf/wkt\";\nimport type { RateLimitDetail } from \"../../polyester/ratelimit/v1/types_pb.js\";\nimport { file_polyester_ratelimit_v1_types } from \"../../polyester/ratelimit/v1/types_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file orders/v1/orders.proto.\n */\nexport const file_orders_v1_orders: GenFile = /*@__PURE__*/\n fileDesc(\"ChZvcmRlcnMvdjEvb3JkZXJzLnByb3RvEglvcmRlcnMudjEiewoJTWFya2V0SW9jEh4KEm1heF9zbGlwcGFnZV90aWNrcxgBIAEoBUIASAASHAoQbWF4X3NsaXBwYWdlX2JwcxgCIAEoBUIASAASIAoWY2xpZW50X3JlZl9wcmljZV90aWNrcxgDIAEoA0IAQg4KDG1heF9zbGlwcGFnZSI0CghMaW1pdEd0YxIVCgtwcmljZV90aWNrcxgBIAEoA0IAEhEKCXBvc3Rfb25seRgCIAEoCCJnCghMaW1pdEd0ZBIVCgtwcmljZV90aWNrcxgBIAEoA0IAEhEKCXBvc3Rfb25seRgCIAEoCBIvCglleHBpcmVfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgA6ACIhCghMaW1pdElvYxIVCgtwcmljZV90aWNrcxgBIAEoA0IAIiEKCExpbWl0Rm9rEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAisgQKC09yZGVySW50ZW50EhMKCXN5bWJvbF9pZBgBIAEoDUIAEh8KBHNpZGUYAiABKA4yDy5vcmRlcnMudjEuU2lkZUIAEhsKD2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0IASAASIgoWbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgEIAEoA0IASAASKgoKbWFya2V0X2lvYxgKIAEoCzIULm9yZGVycy52MS5NYXJrZXRJb2NIARIoCglsaW1pdF9ndGMYCyABKAsyEy5vcmRlcnMudjEuTGltaXRHdGNIARIoCglsaW1pdF9pb2MYDCABKAsyEy5vcmRlcnMudjEuTGltaXRJb2NIARIoCglsaW1pdF9mb2sYDSABKAsyEy5vcmRlcnMudjEuTGltaXRGb2tIARIoCglsaW1pdF9ndGQYDiABKAsyEy5vcmRlcnMudjEuTGltaXRHdGRIARIZCg9jbGllbnRfb3JkZXJfaWQYFCABKAlCABIoCglmZWVfYXNzZXQYFSABKA4yEy5vcmRlcnMudjEuRmVlQXNzZXRCABJIChpzZWxmX3RyYWRlX3ByZXZlbnRpb25fbW9kZRgWIAEoDjIiLm9yZGVycy52MS5TZWxmVHJhZGVQcmV2ZW50aW9uTW9kZUIAEiwKDWF0dGFjaGVkX3Jpc2sYHiABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeToAQgoKBnNpemluZxIAQg0KCWV4ZWN1dGlvbhIAImsKEkNyZWF0ZU9yZGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESJwoFb3JkZXIYAiABKAsyFi5vcmRlcnMudjEuT3JkZXJJbnRlbnRCAEIQCg5fc3ViYWNjb3VudF9pZCLCAwoTQ3JlYXRlT3JkZXJSZXNwb25zZRIQCghvcmRlcl9pZBgBIAEoBhIXCg9jbGllbnRfb3JkZXJfaWQYAiABKAkSLwoLYWNjZXB0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEWFjY2VwdGVkX2F0X3RzX25zGAQgASgEEiAKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgFIAEoAxItCiBzdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgGIAEoA0gAiAEBEiMKFnRha2VfcHJvZml0X3RyaWdnZXJfaWQYFCABKARIAYgBARIhChRzdG9wX2xvc3NfdHJpZ2dlcl9pZBgVIAEoBEgCiAEBEiUKGHRyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZBgWIAEoBEgDiAEBQiMKIV9zdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZEIZChdfdGFrZV9wcm9maXRfdHJpZ2dlcl9pZEIXChVfc3RvcF9sb3NzX3RyaWdnZXJfaWRCGwoZX3RyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZCJsChNQcmV2aWV3T3JkZXJSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARInCgVvcmRlchgCIAEoCzIWLm9yZGVycy52MS5PcmRlckludGVudEIAQhAKDl9zdWJhY2NvdW50X2lkIqkCChRQcmV2aWV3T3JkZXJSZXNwb25zZRIXCgphZG1pc3NpYmxlGAEgASgISACIAQESKQoJcmVqZWN0aW9uGAIgASgLMhYub3JkZXJzLnYxLkVycm9yRGV0YWlsEiUKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0gBiAEBEigKG3Byb3RlY3RlZF9wcmljZV9ib3VuZF90aWNrcxgEIAEoA0gCiAEBEjAKDGV2YWx1YXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2FkbWlzc2libGVCGwoZX3Jlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZEIeChxfcHJvdGVjdGVkX3ByaWNlX2JvdW5kX3RpY2tzIpEBChJDYW5jZWxPcmRlclJlcXVlc3QSFAoIb3JkZXJfaWQYASABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgCIAEoCUIASAASEQoJc3ltYm9sX2lkGAMgASgNEhoKDXN1YmFjY291bnRfaWQYBCABKAZIAYgBAToAQgUKA2tleUIQCg5fc3ViYWNjb3VudF9pZCLHAQoTQ2FuY2VsT3JkZXJSZXNwb25zZRI3CgZzdGF0dXMYASABKA4yJS5vcmRlcnMudjEuQ2FuY2VsT3JkZXJSZXNwb25zZS5TdGF0dXNCABIQCghvcmRlcl9pZBgCIAEoBhImCgJ0cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBCABKAQiLgoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEgwKCEFDQ0VQVEVEEAEiRgoORmllbGRWaW9sYXRpb24SEgoKZmllbGRfcGF0aBgBIAEoCRIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkinQEKC0Vycm9yRGV0YWlsEiIKBGNvZGUYASABKA4yFC5vcmRlcnMudjEuRXJyb3JDb2RlEi0KCnZpb2xhdGlvbnMYAiADKAsyGS5vcmRlcnMudjEuRmllbGRWaW9sYXRpb24SOwoKcmF0ZV9saW1pdBgDIAEoCzInLnBvbHllc3Rlci5yYXRlbGltaXQudjEuUmF0ZUxpbWl0RGV0YWlsIg8KDVJpc2tNYXJrZXRJb2MiJQoMUmlza0xpbWl0R3RjEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAifAoNUmlza0V4ZWN1dGlvbhIuCgptYXJrZXRfaW9jGAEgASgLMhgub3JkZXJzLnYxLlJpc2tNYXJrZXRJb2NIABIsCglsaW1pdF9ndGMYAiABKAsyFy5vcmRlcnMudjEuUmlza0xpbWl0R3RjSABCDQoJZXhlY3V0aW9uEgAiXAoQVGFrZVByb2ZpdFBvbGljeRIdChN0cmlnZ2VyX3ByaWNlX3RpY2tzGAEgASgDQgASKQoFY2hpbGQYAiABKAsyGC5vcmRlcnMudjEuUmlza0V4ZWN1dGlvbkIAIloKDlN0b3BMb3NzUG9saWN5Eh0KE3RyaWdnZXJfcHJpY2VfdGlja3MYASABKANCABIpCgVjaGlsZBgCIAEoCzIYLm9yZGVycy52MS5SaXNrRXhlY3V0aW9uQgAi3wEKElRyYWlsaW5nU3RvcFBvbGljeRIjChd0cmFpbGluZ19kaXN0YW5jZV90aWNrcxgBIAEoA0IASAASIQoVdHJhaWxpbmdfZGlzdGFuY2VfYnBzGAIgASgFQgBIABIeChJtYXhfc2xpcHBhZ2VfdGlja3MYBiABKAVCAEgBEhwKEG1heF9zbGlwcGFnZV9icHMYByABKAVCAEgBEh4KFmFjdGl2YXRpb25fcHJpY2VfdGlja3MYAyABKANCEwoRdHJhaWxpbmdfZGlzdGFuY2VCDgoMbWF4X3NsaXBwYWdlIsEBCgpSaXNrUG9saWN5EjAKC3Rha2VfcHJvZml0GAEgASgLMhsub3JkZXJzLnYxLlRha2VQcm9maXRQb2xpY3kSLgoJc3RvcF9sb3NzGAIgASgLMhkub3JkZXJzLnYxLlN0b3BMb3NzUG9saWN5SAASNgoNdHJhaWxpbmdfc3RvcBgDIAEoCzIdLm9yZGVycy52MS5UcmFpbGluZ1N0b3BQb2xpY3lIABILCgNvY28YBCABKAg6AEIKCghzdG9wX2xlZyKkAQoWQ2FuY2VsQWxsT3JkZXJzUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESFAoKc3ltYm9sX2lkcxgCIAMoDUIAEh8KBHNpZGUYAyABKA4yDy5vcmRlcnMudjEuU2lkZUIAEg8KB2RyeV9ydW4YBCABKAgSFAoKcmVxdWVzdF9pZBgGIAEoCUIAQhAKDl9zdWJhY2NvdW50X2lkIpYCChdDYW5jZWxBbGxPcmRlcnNSZXNwb25zZRI7CgZzdGF0dXMYASABKA4yKS5vcmRlcnMudjEuQ2FuY2VsQWxsT3JkZXJzUmVzcG9uc2UuU3RhdHVzQgASFgoObWF0Y2hlZF9vcmRlcnMYAiABKA0SGQoRc3VibWl0dGVkX2NhbmNlbHMYAyABKA0SFgoOZmFpbGVkX2NhbmNlbHMYBCABKA0SJgoCdHMYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRzX25zGAYgASgEIjwKBlN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABINCglTVUJNSVRURUQQARILCgdEUllfUlVOEAIiqAEKFUNhbmNlbEFsbEFmdGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESEwoLdGltZW91dF9zZWMYAiABKA0SEwoJc3ltYm9sX2lkGAMgASgNQgASHwoEc2lkZRgEIAEoDjIPLm9yZGVycy52MS5TaWRlQgASFAoKcmVxdWVzdF9pZBgFIAEoCUIAOgBCEAoOX3N1YmFjY291bnRfaWQi/wEKFkNhbmNlbEFsbEFmdGVyUmVzcG9uc2USOgoGc3RhdHVzGAEgASgOMigub3JkZXJzLnYxLkNhbmNlbEFsbEFmdGVyUmVzcG9uc2UuU3RhdHVzQgASHQoVZWZmZWN0aXZlX3RpbWVvdXRfc2VjGAIgASgNEhgKEGV4cGlyZXNfYXRfdHNfbnMYAyABKAQSJgoCdHMYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRzX25zGAUgASgEIjkKBlN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABIJCgVBUk1FRBABEgwKCERJU0FCTEVEEAIi3QIKE0JhdGNoQ3JlYXRlQWNjZXB0ZWQSEAoIb3JkZXJfaWQYASABKAYSIwoWdGFrZV9wcm9maXRfdHJpZ2dlcl9pZBgCIAEoBEgAiAEBEiEKFHN0b3BfbG9zc190cmlnZ2VyX2lkGAMgASgESAGIAQESJQoYdHJhaWxpbmdfc3RvcF90cmlnZ2VyX2lkGAQgASgESAKIAQESIAoYcmVzb2x2ZWRfYmFzZV9xdHlfc2NhbGVkGAUgASgDEi0KIHN1Ym1pdHRlZF9tYXhfcXVvdGVfZGViaXRfc2NhbGVkGAYgASgDSAOIAQFCGQoXX3Rha2VfcHJvZml0X3RyaWdnZXJfaWRCFwoVX3N0b3BfbG9zc190cmlnZ2VyX2lkQhsKGV90cmFpbGluZ19zdG9wX3RyaWdnZXJfaWRCIwohX3N1Ym1pdHRlZF9tYXhfcXVvdGVfZGViaXRfc2NhbGVkIj4KE0JhdGNoQ3JlYXRlUmVqZWN0ZWQSJwoFZXJyb3IYASABKAsyFi5vcmRlcnMudjEuRXJyb3JEZXRhaWxCACKlAQoVQmF0Y2hDcmVhdGVSZXN1bHRJdGVtEhcKD2NsaWVudF9vcmRlcl9pZBgBIAEoCRIyCghhY2NlcHRlZBgCIAEoCzIeLm9yZGVycy52MS5CYXRjaENyZWF0ZUFjY2VwdGVkSAASMgoIcmVqZWN0ZWQYAyABKAsyHi5vcmRlcnMudjEuQmF0Y2hDcmVhdGVSZWplY3RlZEgAQgsKB291dGNvbWUSACKHAQoYQmF0Y2hDcmVhdGVPcmRlcnNSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARIUCgpyZXF1ZXN0X2lkGAIgASgJQgASJwoFaXRlbXMYAyADKAsyFi5vcmRlcnMudjEuT3JkZXJJbnRlbnRCAEIQCg5fc3ViYWNjb3VudF9pZCK1AQoZQmF0Y2hDcmVhdGVPcmRlcnNSZXNwb25zZRIxCgdyZXN1bHRzGAEgAygLMiAub3JkZXJzLnYxLkJhdGNoQ3JlYXRlUmVzdWx0SXRlbRIWCg5hY2NlcHRlZF9jb3VudBgCIAEoDRIWCg5yZWplY3RlZF9jb3VudBgDIAEoDRImCgJ0cxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBSABKAQikQMKEk1vZGlmeU9yZGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSAGIAQESFAoIb3JkZXJfaWQYAiABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgDIAEoCUIASAASFAoKcmVxdWVzdF9pZBgEIAEoCUIAEh4KD25ld19wcmljZV90aWNrcxgFIAEoA0IASAKIAQESHQoObmV3X3F0eV9zY2FsZWQYBiABKANCAEgDiAEBEjAKEW5ld19hdHRhY2hlZF9yaXNrGAcgASgLMhUub3JkZXJzLnYxLlJpc2tQb2xpY3kSLQoIYmVoYXZpb3IYCCABKA4yGS5vcmRlcnMudjEuTW9kaWZ5QmVoYXZpb3JCABIdChNuZXdfY2xpZW50X29yZGVyX2lkGAkgASgJQgASEwoJc3ltYm9sX2lkGAogASgNQgA6AEIHCgNrZXkSAEIQCg5fc3ViYWNjb3VudF9pZEISChBfbmV3X3ByaWNlX3RpY2tzQhEKD19uZXdfcXR5X3NjYWxlZCL8AgoTTW9kaWZ5T3JkZXJSZXNwb25zZRIyCgxhY3Rpb25fdGFrZW4YASABKA4yHC5vcmRlcnMudjEuTW9kaWZ5QWN0aW9uVGFrZW4SFAoMb2xkX29yZGVyX2lkGAIgASgGEhYKDmZpbmFsX29yZGVyX2lkGAMgASgGEgwKBGNvZGUYBCABKAkSIwoWdGFrZV9wcm9maXRfdHJpZ2dlcl9pZBgFIAEoBEgAiAEBEiEKFHN0b3BfbG9zc190cmlnZ2VyX2lkGAYgASgESAGIAQESJQoYdHJhaWxpbmdfc3RvcF90cmlnZ2VyX2lkGAcgASgESAKIAQESJgoCdHMYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRzX25zGAkgASgEQhkKF190YWtlX3Byb2ZpdF90cmlnZ2VyX2lkQhcKFV9zdG9wX2xvc3NfdHJpZ2dlcl9pZEIbChlfdHJhaWxpbmdfc3RvcF90cmlnZ2VyX2lkIowCChVCYXRjaFJlcGxhY2VPcmRlckl0ZW0SFAoIb3JkZXJfaWQYASABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgCIAEoCUIASAASHgoPbmV3X3ByaWNlX3RpY2tzGAMgASgDQgBIAYgBARIdCg5uZXdfcXR5X3NjYWxlZBgEIAEoA0IASAKIAQESMAoRbmV3X2F0dGFjaGVkX3Jpc2sYBSABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeRIdChNuZXdfY2xpZW50X29yZGVyX2lkGAYgASgJQgA6AEIHCgNrZXkSAEISChBfbmV3X3ByaWNlX3RpY2tzQhEKD19uZXdfcXR5X3NjYWxlZCLtAQoZQmF0Y2hSZXBsYWNlQWRtaXNzaW9uSXRlbRISCgppdGVtX2luZGV4GAEgASgNEjoKBnN0YXR1cxgCIAEoDjIqLm9yZGVycy52MS5CYXRjaFJlcGxhY2VJdGVtQWRtaXNzaW9uU3RhdHVzEhQKDG9sZF9vcmRlcl9pZBgDIAEoBhIcChRyZXBsYWNlbWVudF9vcmRlcl9pZBgEIAEoBhIXCg9jbGllbnRfb3JkZXJfaWQYBSABKAkSDAoEY29kZRgGIAEoCRIlCgVlcnJvchgHIAEoCzIWLm9yZGVycy52MS5FcnJvckRldGFpbCKpAQoZQmF0Y2hSZXBsYWNlT3JkZXJzUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESEwoJc3ltYm9sX2lkGAIgASgNQgASFAoKcmVxdWVzdF9pZBgDIAEoCUIAEjEKBWl0ZW1zGAQgAygLMiAub3JkZXJzLnYxLkJhdGNoUmVwbGFjZU9yZGVySXRlbUIAOgBCEAoOX3N1YmFjY291bnRfaWQingIKGkJhdGNoUmVwbGFjZU9yZGVyc1Jlc3BvbnNlEhgKEGJhdGNoX3JlcXVlc3RfaWQYASABKAYSNgoGc3RhdHVzGAIgASgOMiYub3JkZXJzLnYxLkJhdGNoUmVwbGFjZUFkbWlzc2lvblN0YXR1cxI1CgdyZXN1bHRzGAMgAygLMiQub3JkZXJzLnYxLkJhdGNoUmVwbGFjZUFkbWlzc2lvbkl0ZW0SFgoOYWNjZXB0ZWRfY291bnQYBCABKA0SFgoOcmVqZWN0ZWRfY291bnQYBSABKA0SLwoLYWNjZXB0ZWRfdHMYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhYKDmFjY2VwdGVkX3RzX25zGAcgASgEIlUKD0JhdGNoQ2FuY2VsSXRlbRISCghvcmRlcl9pZBgBIAEoBkIAEhkKD2NsaWVudF9vcmRlcl9pZBgCIAEoCUIAEhEKCXN5bWJvbF9pZBgDIAEoDToAIvABChVCYXRjaENhbmNlbFJlc3VsdEl0ZW0SOQoGc3RhdHVzGAEgASgOMicub3JkZXJzLnYxLkJhdGNoQ2FuY2VsUmVzdWx0SXRlbS5TdGF0dXNCABIQCghvcmRlcl9pZBgCIAEoBhIXCg9jbGllbnRfb3JkZXJfaWQYAyABKAkSDAoEY29kZRgEIAEoCRIlCgVlcnJvchgFIAEoCzIWLm9yZGVycy52MS5FcnJvckRldGFpbCI8CgZTdGF0dXMSFgoSU1RBVFVTX1VOU1BFQ0lGSUVEEAASDAoIQUNDRVBURUQQARIMCghSRUpFQ1RFRBACIosBChhCYXRjaENhbmNlbE9yZGVyc1JlcXVlc3QSGgoNc3ViYWNjb3VudF9pZBgBIAEoBkgAiAEBEhQKCnJlcXVlc3RfaWQYAiABKAlCABIrCgVpdGVtcxgDIAMoCzIaLm9yZGVycy52MS5CYXRjaENhbmNlbEl0ZW1CAEIQCg5fc3ViYWNjb3VudF9pZCK1AQoZQmF0Y2hDYW5jZWxPcmRlcnNSZXNwb25zZRIxCgdyZXN1bHRzGAEgAygLMiAub3JkZXJzLnYxLkJhdGNoQ2FuY2VsUmVzdWx0SXRlbRIWCg5hY2NlcHRlZF9jb3VudBgCIAEoDRIWCg5yZWplY3RlZF9jb3VudBgDIAEoDRImCgJ0cxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBSABKAQqLwoEU2lkZRIUChBTSURFX1VOU1BFQ0lGSUVEEAASBwoDQlVZEAESCAoEU0VMTBACKj4KCU9yZGVyVHlwZRIaChZPUkRFUl9UWVBFX1VOU1BFQ0lGSUVEEAASCQoFTElNSVQQARIKCgZNQVJLRVQQAipQCgtUaW1lSW5Gb3JjZRIdChlUSU1FX0lOX0ZPUkNFX1VOU1BFQ0lGSUVEEAASBwoDR1RDEAESBwoDSU9DEAISBwoDRk9LEAMSBwoDR1REEAQqOgoIRmVlQXNzZXQSGQoVRkVFX0FTU0VUX1VOU1BFQ0lGSUVEEAASCQoFUVVPVEUQARIICgRCQVNFEAIqegoXU2VsZlRyYWRlUHJldmVudGlvbk1vZGUSKgomU0VMRl9UUkFERV9QUkVWRU5USU9OX01PREVfVU5TUEVDSUZJRUQQABIQCgxFWFBJUkVfTUFLRVIQARIQCgxFWFBJUkVfVEFLRVIQAhIPCgtFWFBJUkVfQk9USBADKtUTCglFcnJvckNvZGUSGgoWRVJST1JfQ09ERV9VTlNQRUNJRklFRBAAEhoKFkVSUk9SX0NPREVfQkFEX1JFUVVFU1QQARIfChtFUlJPUl9DT0RFX0lOVkFMSURfQVJHVU1FTlQQAhIhCh1FUlJPUl9DT0RFX0lOU1VGRklDSUVOVF9GVU5EUxADEh0KGUVSUk9SX0NPREVfVU5LTk9XTl9TWU1CT0wQBBIYChRFUlJPUl9DT0RFX0JBRF9QUklDRRAFEhYKEkVSUk9SX0NPREVfQkFEX1FUWRAGEhsKF0VSUk9SX0NPREVfTUlOX05PVElPTkFMEAcSHAoYRVJST1JfQ09ERV9RVFlfU1RFUF9TSVpFEAgSMQotRVJST1JfQ09ERV9DT05GTElDVF9EVVBMSUNBVEVfQ0xJRU5UX09SREVSX0lEEAkSGgoWRVJST1JfQ09ERV9VTkFWQUlMQUJMRRAKEh4KGkVSUk9SX0NPREVfVU5BVVRIRU5USUNBVEVEEAsSIAocRVJST1JfQ09ERV9QRVJNSVNTSU9OX0RFTklFRBAMEhgKFEVSUk9SX0NPREVfTk9UX0ZPVU5EEA0SHQoZRVJST1JfQ09ERV9VUFNUUkVBTV9FUlJPUhAOEiQKIEVSUk9SX0NPREVfRkVFX0FTU0VUX05PVF9BTExPV0VEEA8SHAoYRVJST1JfQ09ERV9QQUlSX0RJU0FCTEVEEBASHAoYRVJST1JfQ09ERV9PUkRFUl9VTktOT1dOEBESHQoZRVJST1JfQ09ERV9JTlRFUk5BTF9FUlJPUhASEiIKHkVSUk9SX0NPREVfU1VCQUNDT1VOVF9JTkFDVElWRRATEiEKHUVSUk9SX0NPREVfUE9MSUNZX01BUktFVF9ERU5ZEBQSIgoeRVJST1JfQ09ERV9QT0xJQ1lfTUFYX05PVElPTkFMEBUSJAogRVJST1JfQ09ERV9QT0xJQ1lfVFJBRElOR19IQUxURUQQFhIlCiFFUlJPUl9DT0RFX1BPTElDWV9TUE9UX1RSQURFX0RFTlkQFxImCiJFUlJPUl9DT0RFX0FQSV9LRVlfUk9PVF9TQ09QRV9PTkxZEBgSJQohRVJST1JfQ09ERV9BUElfS0VZX1NVQl9TQ09QRV9PTkxZEBkSKgomRVJST1JfQ09ERV9BUElfS0VZX1NVQkFDQ09VTlRfTUlTTUFUQ0gQGhImCiJFUlJPUl9DT0RFX0FQSV9LRVlfUE9MSUNZX1JFUVVJUkVEEBsSHgoaRVJST1JfQ09ERV9BUElfS0VZX1VOS05PV04QHBIiCh5FUlJPUl9DT0RFX0FQSV9LRVlfTUFSS0VUX0RFTlkQHRIeChpFUlJPUl9DT0RFX1BSSUNFX1RJQ0tfU0laRRAeEhYKEkVSUk9SX0NPREVfTUlOX1FUWRAfEiMKH0VSUk9SX0NPREVfUE9TVF9PTkxZX0xJTUlUX09OTFkQIBIeChpFUlJPUl9DT0RFX0JBVENIX1RPT19MQVJHRRAhEiUKIUVSUk9SX0NPREVfUE9MSUNZX01BWF9PUEVOX09SREVSUxAiEiwKKEVSUk9SX0NPREVfTU9ESUZJQ0FUSU9OX1JFUVVJUkVTX1JFUExBQ0UQIxItCilFUlJPUl9DT0RFX0NPTkZMSUNUX0lERU1QT1RFTkNZX0tFWV9SRVVTRRAkEicKI0VSUk9SX0NPREVfTUFSS0VUX1BSSUNFX1VOQVZBSUxBQkxFECUSIgoeRVJST1JfQ09ERV9QQUlSX05PVF9MSVNURURfWUVUEDISHAoYRVJST1JfQ09ERV9QQUlSX0RFTElTVEVEEDMSHwobRVJST1JfQ09ERV9QQUlSX0NBTkNFTF9PTkxZEDQSHQoZRVJST1JfQ09ERV9QQUlSX1BPU1RfT05MWRA1Eh8KG0VSUk9SX0NPREVfUEFJUl9SRURVQ0VfT05MWRA2EhkKFUVSUk9SX0NPREVfUklTS19MSU1JVBA3EhwKGEVSUk9SX0NPREVfTUFSS0VUX0hBTFRFRBA4Eh4KGkVSUk9SX0NPREVfQUNDT1VOVF9VTktOT1dOEDkSHgoaRVJST1JfQ09ERV9QT1NUX09OTFlfQ1JPU1MQOhIiCh5FUlJPUl9DT0RFX1JFRFVDRV9PTkxZX0JMT0NLRUQQOxIjCh9FUlJPUl9DT0RFX1BSSUNFX0JBTkRfVklPTEFUSU9OEDwSIwofRVJST1JfQ09ERV9NQVJLRVRfQ0FQX1ZJT0xBVElPThA9EhkKFUVSUk9SX0NPREVfRU1QVFlfQk9PSxA+EikKJUVSUk9SX0NPREVfRk9LX0lOU1VGRklDSUVOVF9MSVFVSURJVFkQPxIlCiFFUlJPUl9DT0RFX09SREVSX0FMUkVBRFlfVEVSTUlOQUwQQBIkCiBFUlJPUl9DT0RFX1RSSUdHRVJfUFJJQ0VfSU5WQUxJRBAoEi8KK0VSUk9SX0NPREVfVFJJR0dFUl9QUklDRV9TT1VSQ0VfVU5TVVBQT1JURUQQKRIoCiRFUlJPUl9DT0RFX1RSQUlMSU5HX0RJU1RBTkNFX0lOVkFMSUQQKhIgChxFUlJPUl9DT0RFX1RSSUdHRVJfTk9UX0ZPVU5EECsSJgoiRVJST1JfQ09ERV9UUklHR0VSX0NBTkNFTF9SRUpFQ1RFRBAsEiUKIUVSUk9SX0NPREVfVFJJR0dFUl9TVEFUVVNfSU5WQUxJRBAtEiUKIUVSUk9SX0NPREVfVFJJR0dFUl9OT1RfTU9ESUZJQUJMRRAuEjMKL0VSUk9SX0NPREVfQ09ORkxJQ1RfRFVQTElDQVRFX0NMSUVOVF9UUklHR0VSX0lEEC8SIwofRVJST1JfQ09ERV9NQVhfU0xJUFBBR0VfSU5WQUxJRBAwEhoKFkVSUk9SX0NPREVfU1RBTEVfUVVPVEUQQRIfChtFUlJPUl9DT0RFX1ZBTElEQVRJT05fRVJST1IQQhIZChVFUlJPUl9DT0RFX09WRVJMT0FERUQQQxIoCiRFUlJPUl9DT0RFX01BWF9RVU9URV9ERUJJVF9UT09fU01BTEwQRBIiCh5FUlJPUl9DT0RFX1JBVEVfTElNSVRfRVhDRUVERUQQRRIoCiRFUlJPUl9DT0RFX1NVQkFDQ09VTlRfUkVBRF9GT1JCSURERU4QRhIkCiBFUlJPUl9DT0RFX1BPTElDWV9TUE9UX1JFQURfREVOWRBHEiUKIUVSUk9SX0NPREVfQVBJX0tFWV9TUE9UX1JFQURfREVOWRBIEiUKIUVSUk9SX0NPREVfQ0FOQ0VMX1JFUVVFU1RfRVhQSVJFRBBJKmsKElRyaWdnZXJQcmljZVNvdXJjZRIkCiBUUklHR0VSX1BSSUNFX1NPVVJDRV9VTlNQRUNJRklFRBAAEg4KCkxBU1RfUFJJQ0UQARIPCgtJTkRFWF9QUklDRRACEg4KCk1BUktfUFJJQ0UQAypLChBUcmlnZ2VyRGlyZWN0aW9uEiEKHVRSSUdHRVJfRElSRUNUSU9OX1VOU1BFQ0lGSUVEEAASCQoFQUJPVkUQARIJCgVCRUxPVxACKmkKDk1vZGlmeUJlaGF2aW9yEh8KG01PRElGWV9CRUhBVklPUl9VTlNQRUNJRklFRBAAEhQKEEFNRU5EX09SX1JFUExBQ0UQARIOCgpBTUVORF9PTkxZEAISEAoMUkVQTEFDRV9PTkxZEAMqTQoRTW9kaWZ5QWN0aW9uVGFrZW4SHQoZTU9ESUZZX0FDVElPTl9VTlNQRUNJRklFRBAAEgsKB0FNRU5ERUQQARIMCghSRVBMQUNFRBACKt4BChtCYXRjaFJlcGxhY2VBZG1pc3Npb25TdGF0dXMSLgoqQkFUQ0hfUkVQTEFDRV9BRE1JU1NJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQkFUQ0hfUkVQTEFDRV9BRE1JU1NJT05fU1RBVFVTX0FETUlUVEVEEAESNQoxQkFUQ0hfUkVQTEFDRV9BRE1JU1NJT05fU1RBVFVTX1BBUlRJQUxMWV9BRE1JVFRFRBACEisKJ0JBVENIX1JFUExBQ0VfQURNSVNTSU9OX1NUQVRVU19SRUpFQ1RFRBADKroBCh9CYXRjaFJlcGxhY2VJdGVtQWRtaXNzaW9uU3RhdHVzEjMKL0JBVENIX1JFUExBQ0VfSVRFTV9BRE1JU1NJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASMAosQkFUQ0hfUkVQTEFDRV9JVEVNX0FETUlTU0lPTl9TVEFUVVNfQURNSVRURUQQARIwCixCQVRDSF9SRVBMQUNFX0lURU1fQURNSVNTSU9OX1NUQVRVU19SRUpFQ1RFRBACMrAGCg1PcmRlcnNTZXJ2aWNlElEKDFByZXZpZXdPcmRlchIeLm9yZGVycy52MS5QcmV2aWV3T3JkZXJSZXF1ZXN0Gh8ub3JkZXJzLnYxLlByZXZpZXdPcmRlclJlc3BvbnNlIgASTgoLQ3JlYXRlT3JkZXISHS5vcmRlcnMudjEuQ3JlYXRlT3JkZXJSZXF1ZXN0Gh4ub3JkZXJzLnYxLkNyZWF0ZU9yZGVyUmVzcG9uc2UiABJOCgtDYW5jZWxPcmRlchIdLm9yZGVycy52MS5DYW5jZWxPcmRlclJlcXVlc3QaHi5vcmRlcnMudjEuQ2FuY2VsT3JkZXJSZXNwb25zZSIAEloKD0NhbmNlbEFsbE9yZGVycxIhLm9yZGVycy52MS5DYW5jZWxBbGxPcmRlcnNSZXF1ZXN0GiIub3JkZXJzLnYxLkNhbmNlbEFsbE9yZGVyc1Jlc3BvbnNlIgASVwoOQ2FuY2VsQWxsQWZ0ZXISIC5vcmRlcnMudjEuQ2FuY2VsQWxsQWZ0ZXJSZXF1ZXN0GiEub3JkZXJzLnYxLkNhbmNlbEFsbEFmdGVyUmVzcG9uc2UiABJgChFCYXRjaENyZWF0ZU9yZGVycxIjLm9yZGVycy52MS5CYXRjaENyZWF0ZU9yZGVyc1JlcXVlc3QaJC5vcmRlcnMudjEuQmF0Y2hDcmVhdGVPcmRlcnNSZXNwb25zZSIAEk4KC01vZGlmeU9yZGVyEh0ub3JkZXJzLnYxLk1vZGlmeU9yZGVyUmVxdWVzdBoeLm9yZGVycy52MS5Nb2RpZnlPcmRlclJlc3BvbnNlIgASYwoSQmF0Y2hSZXBsYWNlT3JkZXJzEiQub3JkZXJzLnYxLkJhdGNoUmVwbGFjZU9yZGVyc1JlcXVlc3QaJS5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlT3JkZXJzUmVzcG9uc2UiABJgChFCYXRjaENhbmNlbE9yZGVycxIjLm9yZGVycy52MS5CYXRjaENhbmNlbE9yZGVyc1JlcXVlc3QaJC5vcmRlcnMudjEuQmF0Y2hDYW5jZWxPcmRlcnNSZXNwb25zZSIAQkBaPmdpdGh1Yi5jb20vRmFicmljLUxhYnMvcG9seWVzdGVyLXNkay1nby9nZW4vb3JkZXJzL3YxO29yZGVyc3YxYgZwcm90bzM=\", [file_google_protobuf_timestamp, file_polyester_ratelimit_v1_types]);\n\n/**\n * MarketIoc configures a market order. Market orders always execute as\n * immediate-or-cancel and therefore cannot rest or be post-only.\n *\n * @generated from message orders.v1.MarketIoc\n */\nexport type MarketIoc = Message<\"orders.v1.MarketIoc\"> & {\n /**\n * Optional max slippage override. If omitted, the pair default is used.\n *\n * @generated from oneof orders.v1.MarketIoc.max_slippage\n */\n maxSlippage: {\n /**\n * Maximum allowed slippage as a price delta in 1e-6 quote-unit ticks.\n *\n * @generated from field: int32 max_slippage_ticks = 1;\n */\n value: number;\n case: \"maxSlippageTicks\";\n } | {\n /**\n * Maximum allowed slippage in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 max_slippage_bps = 2;\n */\n value: number;\n case: \"maxSlippageBps\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional client reference price in quote units scaled by 1e6. When\n * omitted, admission uses server-side reference pricing.\n *\n * @generated from field: int64 client_ref_price_ticks = 3;\n */\n clientRefPriceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.MarketIoc.\n * Use `create(MarketIocSchema)` to create a new message.\n */\nexport const MarketIocSchema: GenMessage<MarketIoc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 0);\n\n/**\n * LimitGtc configures a good-til-canceled limit order.\n *\n * @generated from message orders.v1.LimitGtc\n */\nexport type LimitGtc = Message<\"orders.v1.LimitGtc\"> & {\n /**\n * Limit price in quote units scaled by 1e6.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n\n /**\n * Reject the order instead of taking liquidity. Post-only is available only\n * on this resting limit-order variant.\n *\n * @generated from field: bool post_only = 2;\n */\n postOnly: boolean;\n};\n\n/**\n * Describes the message orders.v1.LimitGtc.\n * Use `create(LimitGtcSchema)` to create a new message.\n */\nexport const LimitGtcSchema: GenMessage<LimitGtc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 1);\n\n/**\n * LimitGtd configures a limit order that may remain active only before an\n * exact expiry time.\n *\n * @generated from message orders.v1.LimitGtd\n */\nexport type LimitGtd = Message<\"orders.v1.LimitGtd\"> & {\n /**\n * Limit price in quote units scaled by 1e6.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n\n /**\n * Reject the order instead of taking liquidity.\n *\n * @generated from field: bool post_only = 2;\n */\n postOnly: boolean;\n\n /**\n * Exact expiry time in UTC. It must be at least 1 second and at most 30 days\n * after validation time. The order cannot execute when the current time equals\n * this value.\n *\n * @generated from field: google.protobuf.Timestamp expire_at = 3;\n */\n expireAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message orders.v1.LimitGtd.\n * Use `create(LimitGtdSchema)` to create a new message.\n */\nexport const LimitGtdSchema: GenMessage<LimitGtd> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 2);\n\n/**\n * LimitIoc configures an immediate-or-cancel limit order.\n *\n * @generated from message orders.v1.LimitIoc\n */\nexport type LimitIoc = Message<\"orders.v1.LimitIoc\"> & {\n /**\n * Limit price in quote units scaled by 1e6.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.LimitIoc.\n * Use `create(LimitIocSchema)` to create a new message.\n */\nexport const LimitIocSchema: GenMessage<LimitIoc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 3);\n\n/**\n * LimitFok configures a fill-or-kill limit order.\n *\n * @generated from message orders.v1.LimitFok\n */\nexport type LimitFok = Message<\"orders.v1.LimitFok\"> & {\n /**\n * Limit price in quote units scaled by 1e6.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.LimitFok.\n * Use `create(LimitFokSchema)` to create a new message.\n */\nexport const LimitFokSchema: GenMessage<LimitFok> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 4);\n\n/**\n * OrderIntent contains one order's complete, transport-independent placement\n * intent. Single and batch create use this same message.\n *\n * @generated from message orders.v1.OrderIntent\n */\nexport type OrderIntent = Message<\"orders.v1.OrderIntent\"> & {\n /**\n * Stable numeric pair ID from GetSpotConfig.\n *\n * @generated from field: uint32 symbol_id = 1;\n */\n symbolId: number;\n\n /**\n * Order side.\n *\n * @generated from field: orders.v1.Side side = 2;\n */\n side: Side;\n\n /**\n * Required order sizing intent. Exactly one sizing method must be supplied.\n *\n * @generated from oneof orders.v1.OrderIntent.sizing\n */\n sizing: {\n /**\n * Exact gross base quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig.\n *\n * @generated from field: int64 base_qty_scaled = 3;\n */\n value: bigint;\n case: \"baseQtyScaled\";\n } | {\n /**\n * Hard all-in quote debit limit scaled by the pair's quote_quantity_scale\n * from GetSpotConfig. Valid only for BUY market IOC and BUY limit IOC.\n *\n * @generated from field: int64 max_quote_debit_scaled = 4;\n */\n value: bigint;\n case: \"maxQuoteDebitScaled\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Required execution behavior. The selected variant exposes only fields that\n * can be honored together.\n *\n * @generated from oneof orders.v1.OrderIntent.execution\n */\n execution: {\n /**\n * Market order with implicit IOC behavior.\n *\n * @generated from field: orders.v1.MarketIoc market_ioc = 10;\n */\n value: MarketIoc;\n case: \"marketIoc\";\n } | {\n /**\n * Resting GTC limit order, optionally post-only.\n *\n * @generated from field: orders.v1.LimitGtc limit_gtc = 11;\n */\n value: LimitGtc;\n case: \"limitGtc\";\n } | {\n /**\n * Immediate-or-cancel limit order.\n *\n * @generated from field: orders.v1.LimitIoc limit_ioc = 12;\n */\n value: LimitIoc;\n case: \"limitIoc\";\n } | {\n /**\n * Fill-or-kill limit order.\n *\n * @generated from field: orders.v1.LimitFok limit_fok = 13;\n */\n value: LimitFok;\n case: \"limitFok\";\n } | {\n /**\n * Limit order with an exact expiry time.\n *\n * @generated from field: orders.v1.LimitGtd limit_gtd = 14;\n */\n value: LimitGtd;\n case: \"limitGtd\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional account-scoped identifier for correlation, lookup, and cancellation.\n * While this identifier is retained, reuse returns\n * CONFLICT_DUPLICATE_CLIENT_ORDER_ID, even for identical input, a rejected\n * request, or a terminal order. CreateOrder does not replay the earlier result.\n *\n * @generated from field: string client_order_id = 20;\n */\n clientOrderId: string;\n\n /**\n * Asset charged for fees. Defaults to QUOTE. BASE is available only for BUY\n * orders; SELL orders must use QUOTE.\n *\n * @generated from field: orders.v1.FeeAsset fee_asset = 21;\n */\n feeAsset: FeeAsset;\n\n /**\n * Self-trade prevention mode. Defaults to EXPIRE_MAKER if unspecified.\n *\n * @generated from field: orders.v1.SelfTradePreventionMode self_trade_prevention_mode = 22;\n */\n selfTradePreventionMode: SelfTradePreventionMode;\n\n /**\n * Optional attached risk controls that arm after the parent order fills.\n *\n * @generated from field: orders.v1.RiskPolicy attached_risk = 30;\n */\n attachedRisk?: RiskPolicy | undefined;\n};\n\n/**\n * Describes the message orders.v1.OrderIntent.\n * Use `create(OrderIntentSchema)` to create a new message.\n */\nexport const OrderIntentSchema: GenMessage<OrderIntent> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 5);\n\n/**\n * CreateOrderRequest submits one order intent for admission.\n *\n * @generated from message orders.v1.CreateOrderRequest\n */\nexport type CreateOrderRequest = Message<\"orders.v1.CreateOrderRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Order to admit.\n *\n * @generated from field: orders.v1.OrderIntent order = 2;\n */\n order?: OrderIntent | undefined;\n};\n\n/**\n * Describes the message orders.v1.CreateOrderRequest.\n * Use `create(CreateOrderRequestSchema)` to create a new message.\n */\nexport const CreateOrderRequestSchema: GenMessage<CreateOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 6);\n\n/**\n * CreateOrderResponse acknowledges admission only. It does not report whether\n * the order is working, filled, canceled, or rejected after admission; use\n * order reads or realtime streams for execution state.\n *\n * @generated from message orders.v1.CreateOrderResponse\n */\nexport type CreateOrderResponse = Message<\"orders.v1.CreateOrderResponse\"> & {\n /**\n * Assigned order ID.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Echoed client order ID when one was supplied.\n *\n * @generated from field: string client_order_id = 2;\n */\n clientOrderId: string;\n\n /**\n * Time admission completed.\n *\n * @generated from field: google.protobuf.Timestamp accepted_at = 3;\n */\n acceptedAt?: Timestamp | undefined;\n\n /**\n * Admission completion time as epoch nanoseconds (UTC).\n *\n * @generated from field: uint64 accepted_at_ts_ns = 4;\n */\n acceptedAtTsNs: bigint;\n\n /**\n * Gross base quantity resolved for execution, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: int64 resolved_base_qty_scaled = 5;\n */\n resolvedBaseQtyScaled: bigint;\n\n /**\n * Submitted hard all-in quote debit limit, scaled by the pair's\n * quote_quantity_scale from GetSpotConfig. Present only when that sizing\n * method was submitted.\n *\n * @generated from field: optional int64 submitted_max_quote_debit_scaled = 6;\n */\n submittedMaxQuoteDebitScaled?: bigint | undefined;\n\n /**\n * Trigger ID for attached take-profit.\n *\n * @generated from field: optional uint64 take_profit_trigger_id = 20;\n */\n takeProfitTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached stop-loss.\n *\n * @generated from field: optional uint64 stop_loss_trigger_id = 21;\n */\n stopLossTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached trailing stop.\n *\n * @generated from field: optional uint64 trailing_stop_trigger_id = 22;\n */\n trailingStopTriggerId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.CreateOrderResponse.\n * Use `create(CreateOrderResponseSchema)` to create a new message.\n */\nexport const CreateOrderResponseSchema: GenMessage<CreateOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 7);\n\n/**\n * PreviewOrderRequest asks whether one complete order intent is currently\n * admissible. It uses the same order contract as CreateOrderRequest. Previewing\n * creates no order, hold, reservation, or client-order-ID claim.\n *\n * @generated from message orders.v1.PreviewOrderRequest\n */\nexport type PreviewOrderRequest = Message<\"orders.v1.PreviewOrderRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Order intent to evaluate without submitting it.\n *\n * @generated from field: orders.v1.OrderIntent order = 2;\n */\n order?: OrderIntent | undefined;\n};\n\n/**\n * Describes the message orders.v1.PreviewOrderRequest.\n * Use `create(PreviewOrderRequestSchema)` to create a new message.\n */\nexport const PreviewOrderRequestSchema: GenMessage<PreviewOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 8);\n\n/**\n * PreviewOrderResponse reports whether an order is currently admissible and\n * returns any sizing and price-protection values resolved during evaluation.\n * The result is advisory: account, market, and policy inputs may change, and\n * CreateOrder always evaluates the intent again.\n *\n * @generated from message orders.v1.PreviewOrderResponse\n */\nexport type PreviewOrderResponse = Message<\"orders.v1.PreviewOrderResponse\"> & {\n /**\n * Whether the order passed the current validation, policy, risk, and\n * available-balance checks.\n *\n * @generated from field: optional bool admissible = 1;\n */\n admissible?: boolean | undefined;\n\n /**\n * Typed reason the order is not currently admissible. Omitted when\n * admissible is true.\n *\n * @generated from field: orders.v1.ErrorDetail rejection = 2;\n */\n rejection?: ErrorDetail | undefined;\n\n /**\n * Gross base quantity resolved for execution, scaled by the pair's\n * base_quantity_scale from GetSpotConfig. Present when sizing was resolved.\n *\n * @generated from field: optional int64 resolved_base_qty_scaled = 3;\n */\n resolvedBaseQtyScaled?: bigint | undefined;\n\n /**\n * Protective execution boundary in quote units scaled by 1e6. This is not an\n * expected fill price. Present when price protection was resolved.\n *\n * @generated from field: optional int64 protected_price_bound_ticks = 4;\n */\n protectedPriceBoundTicks?: bigint | undefined;\n\n /**\n * Time at which this admission evaluation completed.\n *\n * @generated from field: google.protobuf.Timestamp evaluated_at = 5;\n */\n evaluatedAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message orders.v1.PreviewOrderResponse.\n * Use `create(PreviewOrderResponseSchema)` to create a new message.\n */\nexport const PreviewOrderResponseSchema: GenMessage<PreviewOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 9);\n\n/**\n * CancelOrderRequest is the binary (protobuf) request for canceling orders.\n *\n * @generated from message orders.v1.CancelOrderRequest\n */\nexport type CancelOrderRequest = Message<\"orders.v1.CancelOrderRequest\"> & {\n /**\n * @generated from oneof orders.v1.CancelOrderRequest.key\n */\n key: {\n /**\n * Order ID as fixed64.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID.\n *\n * @generated from field: string client_order_id = 2;\n */\n value: string;\n case: \"clientOrderId\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional symbol_id for routing; when omitted, resolved from order directory.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 4;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.CancelOrderRequest.\n * Use `create(CancelOrderRequestSchema)` to create a new message.\n */\nexport const CancelOrderRequestSchema: GenMessage<CancelOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 10);\n\n/**\n * CancelOrderResponse is the binary (protobuf) response after canceling an order.\n *\n * @generated from message orders.v1.CancelOrderResponse\n */\nexport type CancelOrderResponse = Message<\"orders.v1.CancelOrderResponse\"> & {\n /**\n * Cancellation submission outcome.\n *\n * @generated from field: orders.v1.CancelOrderResponse.Status status = 1;\n */\n status: CancelOrderResponse_Status;\n\n /**\n * Order ID as fixed64.\n *\n * @generated from field: fixed64 order_id = 2;\n */\n orderId: bigint;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 3;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 4;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.CancelOrderResponse.\n * Use `create(CancelOrderResponseSchema)` to create a new message.\n */\nexport const CancelOrderResponseSchema: GenMessage<CancelOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 11);\n\n/**\n * Cancellation submission outcome.\n *\n * @generated from enum orders.v1.CancelOrderResponse.Status\n */\nexport enum CancelOrderResponse_Status {\n /**\n * Cancellation status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * The cancellation request was accepted for processing.\n *\n * @generated from enum value: ACCEPTED = 1;\n */\n ACCEPTED = 1,\n}\n\n/**\n * Describes the enum orders.v1.CancelOrderResponse.Status.\n */\nexport const CancelOrderResponse_StatusSchema: GenEnum<CancelOrderResponse_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 11, 0);\n\n/**\n * FieldViolation describes one actionable request validation failure.\n *\n * @generated from message orders.v1.FieldViolation\n */\nexport type FieldViolation = Message<\"orders.v1.FieldViolation\"> & {\n /**\n * Protobuf field path relative to the request, using canonical field names.\n *\n * @generated from field: string field_path = 1;\n */\n fieldPath: string;\n\n /**\n * Stable validation rule identifier suitable for programmatic matching.\n *\n * @generated from field: string rule_id = 2;\n */\n ruleId: string;\n\n /**\n * Human-readable explanation of the violation.\n *\n * @generated from field: string message = 3;\n */\n message: string;\n};\n\n/**\n * Describes the message orders.v1.FieldViolation.\n * Use `create(FieldViolationSchema)` to create a new message.\n */\nexport const FieldViolationSchema: GenMessage<FieldViolation> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 12);\n\n/**\n * ErrorDetail is attached to ConnectRPC errors for structured error handling.\n * Clients can inspect this to get a stable machine-readable error code.\n *\n * @generated from message orders.v1.ErrorDetail\n */\nexport type ErrorDetail = Message<\"orders.v1.ErrorDetail\"> & {\n /**\n * Stable error code matching the REST problem+json \"code\" field.\n *\n * @generated from field: orders.v1.ErrorCode code = 1;\n */\n code: ErrorCode;\n\n /**\n * Field-level validation failures. Empty for non-validation domain errors.\n *\n * @generated from field: repeated orders.v1.FieldViolation violations = 2;\n */\n violations: FieldViolation[];\n\n /**\n * Structured quota state. Present only for rate-limit rejections.\n *\n * @generated from field: polyester.ratelimit.v1.RateLimitDetail rate_limit = 3;\n */\n rateLimit?: RateLimitDetail | undefined;\n};\n\n/**\n * Describes the message orders.v1.ErrorDetail.\n * Use `create(ErrorDetailSchema)` to create a new message.\n */\nexport const ErrorDetailSchema: GenMessage<ErrorDetail> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 13);\n\n/**\n * RiskMarketIoc configures an attached risk leg that submits a market child\n * with implicit immediate-or-cancel behavior.\n *\n * @generated from message orders.v1.RiskMarketIoc\n */\nexport type RiskMarketIoc = Message<\"orders.v1.RiskMarketIoc\"> & {\n};\n\n/**\n * Describes the message orders.v1.RiskMarketIoc.\n * Use `create(RiskMarketIocSchema)` to create a new message.\n */\nexport const RiskMarketIocSchema: GenMessage<RiskMarketIoc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 14);\n\n/**\n * RiskLimitGtc configures an attached risk leg that submits a resting limit\n * child. Attached risk legs do not support post-only.\n *\n * @generated from message orders.v1.RiskLimitGtc\n */\nexport type RiskLimitGtc = Message<\"orders.v1.RiskLimitGtc\"> & {\n /**\n * Limit price in quote units scaled by 1e6.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.RiskLimitGtc.\n * Use `create(RiskLimitGtcSchema)` to create a new message.\n */\nexport const RiskLimitGtcSchema: GenMessage<RiskLimitGtc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 15);\n\n/**\n * RiskExecution selects the child execution supported by attached take-profit\n * and stop-loss policies.\n *\n * @generated from message orders.v1.RiskExecution\n */\nexport type RiskExecution = Message<\"orders.v1.RiskExecution\"> & {\n /**\n * @generated from oneof orders.v1.RiskExecution.execution\n */\n execution: {\n /**\n * Market child with implicit IOC behavior.\n *\n * @generated from field: orders.v1.RiskMarketIoc market_ioc = 1;\n */\n value: RiskMarketIoc;\n case: \"marketIoc\";\n } | {\n /**\n * Resting GTC limit child.\n *\n * @generated from field: orders.v1.RiskLimitGtc limit_gtc = 2;\n */\n value: RiskLimitGtc;\n case: \"limitGtc\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message orders.v1.RiskExecution.\n * Use `create(RiskExecutionSchema)` to create a new message.\n */\nexport const RiskExecutionSchema: GenMessage<RiskExecution> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 16);\n\n/**\n * TakeProfitPolicy defines a take-profit attached to an order. It evaluates\n * last trade price, arms after the parent fills, and submits the selected child.\n *\n * @generated from message orders.v1.TakeProfitPolicy\n */\nexport type TakeProfitPolicy = Message<\"orders.v1.TakeProfitPolicy\"> & {\n /**\n * Trigger price in quote units scaled by 1e6.\n *\n * @generated from field: int64 trigger_price_ticks = 1;\n */\n triggerPriceTicks: bigint;\n\n /**\n * Child execution when the threshold is crossed.\n *\n * @generated from field: orders.v1.RiskExecution child = 2;\n */\n child?: RiskExecution | undefined;\n};\n\n/**\n * Describes the message orders.v1.TakeProfitPolicy.\n * Use `create(TakeProfitPolicySchema)` to create a new message.\n */\nexport const TakeProfitPolicySchema: GenMessage<TakeProfitPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 17);\n\n/**\n * StopLossPolicy defines a stop-loss attached to an order. It evaluates last\n * trade price, arms after the parent fills, and submits the selected child.\n *\n * @generated from message orders.v1.StopLossPolicy\n */\nexport type StopLossPolicy = Message<\"orders.v1.StopLossPolicy\"> & {\n /**\n * Trigger price in quote units scaled by 1e6.\n *\n * @generated from field: int64 trigger_price_ticks = 1;\n */\n triggerPriceTicks: bigint;\n\n /**\n * Child execution when the threshold is crossed.\n *\n * @generated from field: orders.v1.RiskExecution child = 2;\n */\n child?: RiskExecution | undefined;\n};\n\n/**\n * Describes the message orders.v1.StopLossPolicy.\n * Use `create(StopLossPolicySchema)` to create a new message.\n */\nexport const StopLossPolicySchema: GenMessage<StopLossPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 18);\n\n/**\n * TrailingStopPolicy defines a trailing stop attached to an order.\n * Tracks peak (for sell) or trough (for buy) and fires when price reverses by\n * the distance.\n *\n * @generated from message orders.v1.TrailingStopPolicy\n */\nexport type TrailingStopPolicy = Message<\"orders.v1.TrailingStopPolicy\"> & {\n /**\n * Trailing distance. Exactly one of these should be set.\n *\n * @generated from oneof orders.v1.TrailingStopPolicy.trailing_distance\n */\n trailingDistance: {\n /**\n * Trailing distance as a price delta in 1e-6 quote-unit ticks.\n *\n * @generated from field: int64 trailing_distance_ticks = 1;\n */\n value: bigint;\n case: \"trailingDistanceTicks\";\n } | {\n /**\n * Trailing distance in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 trailing_distance_bps = 2;\n */\n value: number;\n case: \"trailingDistanceBps\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional price protection. If set, when the trailing stop triggers we place\n * an IOC LIMIT order at stop_price ± max_slippage (instead of an unprotected\n * MARKET order).\n *\n * Exactly one of these should be set (or neither for unprotected behavior).\n *\n * @generated from oneof orders.v1.TrailingStopPolicy.max_slippage\n */\n maxSlippage: {\n /**\n * Maximum allowed slippage as a price delta in 1e-6 quote-unit ticks.\n *\n * @generated from field: int32 max_slippage_ticks = 6;\n */\n value: number;\n case: \"maxSlippageTicks\";\n } | {\n /**\n * Maximum allowed slippage in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 max_slippage_bps = 7;\n */\n value: number;\n case: \"maxSlippageBps\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional activation price: trailing only starts after this price is\n * reached. If omitted, trailing starts immediately after the parent order\n * fills. Expressed in quote units scaled by 1e6.\n *\n * @generated from field: int64 activation_price_ticks = 3;\n */\n activationPriceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.TrailingStopPolicy.\n * Use `create(TrailingStopPolicySchema)` to create a new message.\n */\nexport const TrailingStopPolicySchema: GenMessage<TrailingStopPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 19);\n\n/**\n * RiskPolicy defines optional risk controls (TP/SL/TrailingStop) attached to an\n * order. These arm after the parent order fills and fire when conditions are\n * met. If the parent order is canceled before any fill, attached risk controls\n * are discarded.\n *\n * @generated from message orders.v1.RiskPolicy\n */\nexport type RiskPolicy = Message<\"orders.v1.RiskPolicy\"> & {\n /**\n * Optional take-profit configuration.\n *\n * @generated from field: orders.v1.TakeProfitPolicy take_profit = 1;\n */\n takeProfit?: TakeProfitPolicy | undefined;\n\n /**\n * At most one stop leg can be configured for attached risk.\n *\n * @generated from oneof orders.v1.RiskPolicy.stop_leg\n */\n stopLeg: {\n /**\n * Optional stop-loss configuration.\n *\n * @generated from field: orders.v1.StopLossPolicy stop_loss = 2;\n */\n value: StopLossPolicy;\n case: \"stopLoss\";\n } | {\n /**\n * Optional trailing stop configuration.\n *\n * @generated from field: orders.v1.TrailingStopPolicy trailing_stop = 3;\n */\n value: TrailingStopPolicy;\n case: \"trailingStop\";\n } | { case: undefined; value?: undefined };\n\n /**\n * If true, take-profit and the configured stop leg (stop-loss or trailing-stop)\n * form an OCO pair: when one fires, the other is canceled.\n * Default is false (no mutual cancellation).\n *\n * @generated from field: bool oco = 4;\n */\n oco: boolean;\n};\n\n/**\n * Describes the message orders.v1.RiskPolicy.\n * Use `create(RiskPolicySchema)` to create a new message.\n */\nexport const RiskPolicySchema: GenMessage<RiskPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 20);\n\n/**\n * CancelAllOrdersRequest cancels all matching open orders for an account.\n *\n * @generated from message orders.v1.CancelAllOrdersRequest\n */\nexport type CancelAllOrdersRequest = Message<\"orders.v1.CancelAllOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Optional trading-pair IDs from GetSpotConfig. Empty matches all symbols.\n * At most 100 positive IDs; duplicates are ignored and ordering is immaterial.\n *\n * @generated from field: repeated uint32 symbol_ids = 2;\n */\n symbolIds: number[];\n\n /**\n * Side filter. When set, only orders on this side are canceled.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * If true, return matched counts without actually canceling.\n *\n * @generated from field: bool dry_run = 4;\n */\n dryRun: boolean;\n\n /**\n * Idempotency key (required). Reuse the same key and criteria for retries.\n * Completed results are retained for at least two minutes. Use a fresh key\n * for a new cancellation; do not reuse a key after its replay window.\n *\n * @generated from field: string request_id = 6;\n */\n requestId: string;\n};\n\n/**\n * Describes the message orders.v1.CancelAllOrdersRequest.\n * Use `create(CancelAllOrdersRequestSchema)` to create a new message.\n */\nexport const CancelAllOrdersRequestSchema: GenMessage<CancelAllOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 21);\n\n/**\n * CancelAllOrdersResponse returns the result of a cancel-all operation.\n *\n * @generated from message orders.v1.CancelAllOrdersResponse\n */\nexport type CancelAllOrdersResponse = Message<\"orders.v1.CancelAllOrdersResponse\"> & {\n /**\n * Cancel-all submission outcome.\n *\n * @generated from field: orders.v1.CancelAllOrdersResponse.Status status = 1;\n */\n status: CancelAllOrdersResponse_Status;\n\n /**\n * Number of orders that matched the filter.\n *\n * @generated from field: uint32 matched_orders = 2;\n */\n matchedOrders: number;\n\n /**\n * Number of cancel requests submitted for processing.\n *\n * @generated from field: uint32 submitted_cancels = 3;\n */\n submittedCancels: number;\n\n /**\n * Number of cancels that could not be submitted (already canceled, etc.).\n *\n * @generated from field: uint32 failed_cancels = 4;\n */\n failedCancels: number;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 5;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 6;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.CancelAllOrdersResponse.\n * Use `create(CancelAllOrdersResponseSchema)` to create a new message.\n */\nexport const CancelAllOrdersResponseSchema: GenMessage<CancelAllOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 22);\n\n/**\n * Cancel-all submission outcome.\n *\n * @generated from enum orders.v1.CancelAllOrdersResponse.Status\n */\nexport enum CancelAllOrdersResponse_Status {\n /**\n * Cancel-all status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * Matching cancellation requests were submitted for processing.\n *\n * @generated from enum value: SUBMITTED = 1;\n */\n SUBMITTED = 1,\n\n /**\n * The request only counted matching orders and submitted no cancellations.\n *\n * @generated from enum value: DRY_RUN = 2;\n */\n DRY_RUN = 2,\n}\n\n/**\n * Describes the enum orders.v1.CancelAllOrdersResponse.Status.\n */\nexport const CancelAllOrdersResponse_StatusSchema: GenEnum<CancelAllOrdersResponse_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 22, 0);\n\n/**\n * CancelAllAfterRequest arms/disables a dead-man switch for automatic cancel-all.\n *\n * @generated from message orders.v1.CancelAllAfterRequest\n */\nexport type CancelAllAfterRequest = Message<\"orders.v1.CancelAllAfterRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Heartbeat timeout in seconds.\n * - 0 disables the dead-man switch for this account.\n * - 10..120 arms or refreshes the switch.\n *\n * @generated from field: uint32 timeout_sec = 2;\n */\n timeoutSec: number;\n\n /**\n * Optional symbol ID filter. When set, only orders on this symbol are\n * canceled on expiry. When zero, all symbols are canceled.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n\n /**\n * Optional side filter for cancel-on-expiry.\n *\n * @generated from field: orders.v1.Side side = 4;\n */\n side: Side;\n\n /**\n * Idempotency/trace key from caller (required).\n *\n * @generated from field: string request_id = 5;\n */\n requestId: string;\n};\n\n/**\n * Describes the message orders.v1.CancelAllAfterRequest.\n * Use `create(CancelAllAfterRequestSchema)` to create a new message.\n */\nexport const CancelAllAfterRequestSchema: GenMessage<CancelAllAfterRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 23);\n\n/**\n * CancelAllAfterResponse returns dead-man switch arming/disable status.\n *\n * @generated from message orders.v1.CancelAllAfterResponse\n */\nexport type CancelAllAfterResponse = Message<\"orders.v1.CancelAllAfterResponse\"> & {\n /**\n * Dead-man switch state after applying the request.\n *\n * @generated from field: orders.v1.CancelAllAfterResponse.Status status = 1;\n */\n status: CancelAllAfterResponse_Status;\n\n /**\n * Effective timeout in seconds (0 when disabled).\n *\n * @generated from field: uint32 effective_timeout_sec = 2;\n */\n effectiveTimeoutSec: number;\n\n /**\n * Expiry timestamp in epoch nanoseconds (0 when disabled).\n *\n * @generated from field: uint64 expires_at_ts_ns = 3;\n */\n expiresAtTsNs: bigint;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 4;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 5;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.CancelAllAfterResponse.\n * Use `create(CancelAllAfterResponseSchema)` to create a new message.\n */\nexport const CancelAllAfterResponseSchema: GenMessage<CancelAllAfterResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 24);\n\n/**\n * Dead-man switch state after applying the request.\n *\n * @generated from enum orders.v1.CancelAllAfterResponse.Status\n */\nexport enum CancelAllAfterResponse_Status {\n /**\n * Dead-man switch status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * The dead-man switch is armed or refreshed.\n *\n * @generated from enum value: ARMED = 1;\n */\n ARMED = 1,\n\n /**\n * The dead-man switch is disabled.\n *\n * @generated from enum value: DISABLED = 2;\n */\n DISABLED = 2,\n}\n\n/**\n * Describes the enum orders.v1.CancelAllAfterResponse.Status.\n */\nexport const CancelAllAfterResponse_StatusSchema: GenEnum<CancelAllAfterResponse_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 24, 0);\n\n/**\n * BatchCreateAccepted contains the assigned identifiers for an admitted item.\n *\n * @generated from message orders.v1.BatchCreateAccepted\n */\nexport type BatchCreateAccepted = Message<\"orders.v1.BatchCreateAccepted\"> & {\n /**\n * Assigned order ID.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Trigger ID for attached take-profit (when accepted and configured).\n *\n * @generated from field: optional uint64 take_profit_trigger_id = 2;\n */\n takeProfitTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached stop-loss (when accepted and configured).\n *\n * @generated from field: optional uint64 stop_loss_trigger_id = 3;\n */\n stopLossTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached trailing stop (when accepted and configured).\n *\n * @generated from field: optional uint64 trailing_stop_trigger_id = 4;\n */\n trailingStopTriggerId?: bigint | undefined;\n\n /**\n * Gross base quantity resolved for execution, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: int64 resolved_base_qty_scaled = 5;\n */\n resolvedBaseQtyScaled: bigint;\n\n /**\n * Submitted hard all-in quote debit limit, scaled by the pair's\n * quote_quantity_scale from GetSpotConfig. Present only when submitted.\n *\n * @generated from field: optional int64 submitted_max_quote_debit_scaled = 6;\n */\n submittedMaxQuoteDebitScaled?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.BatchCreateAccepted.\n * Use `create(BatchCreateAcceptedSchema)` to create a new message.\n */\nexport const BatchCreateAcceptedSchema: GenMessage<BatchCreateAccepted> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 25);\n\n/**\n * BatchCreateRejected contains the typed reason an item was not admitted.\n *\n * @generated from message orders.v1.BatchCreateRejected\n */\nexport type BatchCreateRejected = Message<\"orders.v1.BatchCreateRejected\"> & {\n /**\n * Structured rejection detail.\n *\n * @generated from field: orders.v1.ErrorDetail error = 1;\n */\n error?: ErrorDetail | undefined;\n};\n\n/**\n * Describes the message orders.v1.BatchCreateRejected.\n * Use `create(BatchCreateRejectedSchema)` to create a new message.\n */\nexport const BatchCreateRejectedSchema: GenMessage<BatchCreateRejected> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 26);\n\n/**\n * BatchCreateResultItem contains exactly one per-item batch outcome.\n *\n * @generated from message orders.v1.BatchCreateResultItem\n */\nexport type BatchCreateResultItem = Message<\"orders.v1.BatchCreateResultItem\"> & {\n /**\n * Echoed client order ID.\n *\n * @generated from field: string client_order_id = 1;\n */\n clientOrderId: string;\n\n /**\n * Accepted or rejected outcome.\n *\n * @generated from oneof orders.v1.BatchCreateResultItem.outcome\n */\n outcome: {\n /**\n * Item was admitted.\n *\n * @generated from field: orders.v1.BatchCreateAccepted accepted = 2;\n */\n value: BatchCreateAccepted;\n case: \"accepted\";\n } | {\n /**\n * Item was rejected before admission.\n *\n * @generated from field: orders.v1.BatchCreateRejected rejected = 3;\n */\n value: BatchCreateRejected;\n case: \"rejected\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message orders.v1.BatchCreateResultItem.\n * Use `create(BatchCreateResultItemSchema)` to create a new message.\n */\nexport const BatchCreateResultItemSchema: GenMessage<BatchCreateResultItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 27);\n\n/**\n * BatchCreateOrdersRequest places multiple orders in one request.\n *\n * @generated from message orders.v1.BatchCreateOrdersRequest\n */\nexport type BatchCreateOrdersRequest = Message<\"orders.v1.BatchCreateOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Required idempotency key for the entire ordered batch. Reusing it with the\n * same payload replays the original per-item results; reusing it with a\n * different payload returns CONFLICT_IDEMPOTENCY_KEY_REUSE.\n *\n * @generated from field: string request_id = 2;\n */\n requestId: string;\n\n /**\n * Orders to create (max 20). client_order_id is optional per item. For a new\n * request_id, a reused client_order_id rejects only that item with\n * CONFLICT_DUPLICATE_CLIENT_ORDER_ID; other valid items continue.\n *\n * @generated from field: repeated orders.v1.OrderIntent items = 3;\n */\n items: OrderIntent[];\n};\n\n/**\n * Describes the message orders.v1.BatchCreateOrdersRequest.\n * Use `create(BatchCreateOrdersRequestSchema)` to create a new message.\n */\nexport const BatchCreateOrdersRequestSchema: GenMessage<BatchCreateOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 28);\n\n/**\n * BatchCreateOrdersResponse returns per-item results for a batch create.\n *\n * @generated from message orders.v1.BatchCreateOrdersResponse\n */\nexport type BatchCreateOrdersResponse = Message<\"orders.v1.BatchCreateOrdersResponse\"> & {\n /**\n * Per-item results in same order as request.\n *\n * @generated from field: repeated orders.v1.BatchCreateResultItem results = 1;\n */\n results: BatchCreateResultItem[];\n\n /**\n * Number of requested orders that were accepted.\n *\n * @generated from field: uint32 accepted_count = 2;\n */\n acceptedCount: number;\n\n /**\n * Number of requested orders that were rejected.\n *\n * @generated from field: uint32 rejected_count = 3;\n */\n rejectedCount: number;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 4;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 5;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchCreateOrdersResponse.\n * Use `create(BatchCreateOrdersResponseSchema)` to create a new message.\n */\nexport const BatchCreateOrdersResponseSchema: GenMessage<BatchCreateOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 29);\n\n/**\n * ModifyOrderRequest updates an existing order using policy-driven amend/replace behavior.\n *\n * @generated from message orders.v1.ModifyOrderRequest\n */\nexport type ModifyOrderRequest = Message<\"orders.v1.ModifyOrderRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Target key.\n *\n * @generated from oneof orders.v1.ModifyOrderRequest.key\n */\n key: {\n /**\n * Order ID as fixed64.\n *\n * @generated from field: fixed64 order_id = 2;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID to resolve within the caller account.\n *\n * @generated from field: string client_order_id = 3;\n */\n value: string;\n case: \"clientOrderId\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Idempotency key (required).\n *\n * @generated from field: string request_id = 4;\n */\n requestId: string;\n\n /**\n * Patch fields (presence-based).\n * New limit price in quote units scaled by 1e6. Required for price changes.\n *\n * @generated from field: optional int64 new_price_ticks = 5;\n */\n newPriceTicks?: bigint | undefined;\n\n /**\n * Target total quantity after modify/replace, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: optional int64 new_qty_scaled = 6;\n */\n newQtyScaled?: bigint | undefined;\n\n /**\n * Replacement attached-risk policy for the order.\n *\n * @generated from field: orders.v1.RiskPolicy new_attached_risk = 7;\n */\n newAttachedRisk?: RiskPolicy | undefined;\n\n /**\n * Modify behavior policy.\n * MODIFY_BEHAVIOR_UNSPECIFIED is treated as AMEND_OR_REPLACE.\n *\n * @generated from field: orders.v1.ModifyBehavior behavior = 8;\n */\n behavior: ModifyBehavior;\n\n /**\n * Optional new client order id when replace path is taken.\n *\n * @generated from field: string new_client_order_id = 9;\n */\n newClientOrderId: string;\n\n /**\n * Trading symbol numeric identifier. Required for API-key market policy and\n * must match the target order.\n *\n * @generated from field: uint32 symbol_id = 10;\n */\n symbolId: number;\n};\n\n/**\n * Describes the message orders.v1.ModifyOrderRequest.\n * Use `create(ModifyOrderRequestSchema)` to create a new message.\n */\nexport const ModifyOrderRequestSchema: GenMessage<ModifyOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 30);\n\n/**\n * ModifyOrderResponse returns deterministic modify outcome.\n *\n * @generated from message orders.v1.ModifyOrderResponse\n */\nexport type ModifyOrderResponse = Message<\"orders.v1.ModifyOrderResponse\"> & {\n /**\n * Action applied; unspecified when rejected.\n *\n * @generated from field: orders.v1.ModifyActionTaken action_taken = 1;\n */\n actionTaken: ModifyActionTaken;\n\n /**\n * Original order ID that was amended or replaced.\n *\n * @generated from field: fixed64 old_order_id = 2;\n */\n oldOrderId: bigint;\n\n /**\n * Final active order ID; same as old_order_id for amendments.\n *\n * @generated from field: fixed64 final_order_id = 3;\n */\n finalOrderId: bigint;\n\n /**\n * Error code if rejected.\n *\n * @generated from field: string code = 4;\n */\n code: string;\n\n /**\n * Trigger ID for attached take-profit after modification, when configured.\n *\n * @generated from field: optional uint64 take_profit_trigger_id = 5;\n */\n takeProfitTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached stop-loss after modification, when configured.\n *\n * @generated from field: optional uint64 stop_loss_trigger_id = 6;\n */\n stopLossTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached trailing stop after modification, when configured.\n *\n * @generated from field: optional uint64 trailing_stop_trigger_id = 7;\n */\n trailingStopTriggerId?: bigint | undefined;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 8;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 9;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.ModifyOrderResponse.\n * Use `create(ModifyOrderResponseSchema)` to create a new message.\n */\nexport const ModifyOrderResponseSchema: GenMessage<ModifyOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 31);\n\n/**\n * BatchReplaceOrderItem identifies one replacement inside a quote-refresh batch.\n *\n * @generated from message orders.v1.BatchReplaceOrderItem\n */\nexport type BatchReplaceOrderItem = Message<\"orders.v1.BatchReplaceOrderItem\"> & {\n /**\n * @generated from oneof orders.v1.BatchReplaceOrderItem.key\n */\n key: {\n /**\n * Order ID as fixed64. Exactly one of order_id or client_order_id.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID. Exactly one of order_id or client_order_id.\n *\n * @generated from field: string client_order_id = 2;\n */\n value: string;\n case: \"clientOrderId\";\n } | { case: undefined; value?: undefined };\n\n /**\n * New limit price in quote units scaled by 1e6.\n *\n * @generated from field: optional int64 new_price_ticks = 3;\n */\n newPriceTicks?: bigint | undefined;\n\n /**\n * Target total quantity after modify/replace, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: optional int64 new_qty_scaled = 4;\n */\n newQtyScaled?: bigint | undefined;\n\n /**\n * Replacement attached-risk policy for the order.\n *\n * @generated from field: orders.v1.RiskPolicy new_attached_risk = 5;\n */\n newAttachedRisk?: RiskPolicy | undefined;\n\n /**\n * Optional new client order id when replace path is taken.\n *\n * @generated from field: string new_client_order_id = 6;\n */\n newClientOrderId: string;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceOrderItem.\n * Use `create(BatchReplaceOrderItemSchema)` to create a new message.\n */\nexport const BatchReplaceOrderItemSchema: GenMessage<BatchReplaceOrderItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 32);\n\n/**\n * BatchReplaceAdmissionItem contains the index-stable admission result for one item.\n *\n * @generated from message orders.v1.BatchReplaceAdmissionItem\n */\nexport type BatchReplaceAdmissionItem = Message<\"orders.v1.BatchReplaceAdmissionItem\"> & {\n /**\n * Zero-based index in the request.\n *\n * @generated from field: uint32 item_index = 1;\n */\n itemIndex: number;\n\n /**\n * Admission result for this item.\n *\n * @generated from field: orders.v1.BatchReplaceItemAdmissionStatus status = 2;\n */\n status: BatchReplaceItemAdmissionStatus;\n\n /**\n * Original order targeted by the replacement.\n *\n * @generated from field: fixed64 old_order_id = 3;\n */\n oldOrderId: bigint;\n\n /**\n * Assigned successor order ID. Zero when rejected before assignment.\n *\n * @generated from field: fixed64 replacement_order_id = 4;\n */\n replacementOrderId: bigint;\n\n /**\n * Client order ID assigned to the successor when available.\n *\n * @generated from field: string client_order_id = 5;\n */\n clientOrderId: string;\n\n /**\n * Stable rejection code. Empty for admitted items.\n *\n * @generated from field: string code = 6;\n */\n code: string;\n\n /**\n * Structured rejection details. Present for rate-limit guidance and other typed failures.\n *\n * @generated from field: orders.v1.ErrorDetail error = 7;\n */\n error?: ErrorDetail | undefined;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceAdmissionItem.\n * Use `create(BatchReplaceAdmissionItemSchema)` to create a new message.\n */\nexport const BatchReplaceAdmissionItemSchema: GenMessage<BatchReplaceAdmissionItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 33);\n\n/**\n * BatchReplaceOrdersRequest replaces same-symbol orders as one quote refresh.\n *\n * @generated from message orders.v1.BatchReplaceOrdersRequest\n */\nexport type BatchReplaceOrdersRequest = Message<\"orders.v1.BatchReplaceOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Trading symbol shared by every replacement.\n *\n * @generated from field: uint32 symbol_id = 2;\n */\n symbolId: number;\n\n /**\n * Client idempotency key (required).\n *\n * @generated from field: string request_id = 3;\n */\n requestId: string;\n\n /**\n * Replacement items.\n *\n * @generated from field: repeated orders.v1.BatchReplaceOrderItem items = 4;\n */\n items: BatchReplaceOrderItem[];\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceOrdersRequest.\n * Use `create(BatchReplaceOrdersRequestSchema)` to create a new message.\n */\nexport const BatchReplaceOrdersRequestSchema: GenMessage<BatchReplaceOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 34);\n\n/**\n * BatchReplaceOrdersResponse is the durable admission receipt for a batch.\n *\n * @generated from message orders.v1.BatchReplaceOrdersResponse\n */\nexport type BatchReplaceOrdersResponse = Message<\"orders.v1.BatchReplaceOrdersResponse\"> & {\n /**\n * Server-issued opaque identity used for status and private realtime correlation.\n *\n * @generated from field: fixed64 batch_request_id = 1;\n */\n batchRequestId: bigint;\n\n /**\n * Aggregate admission status.\n *\n * @generated from field: orders.v1.BatchReplaceAdmissionStatus status = 2;\n */\n status: BatchReplaceAdmissionStatus;\n\n /**\n * Per-item admission results in request order.\n *\n * @generated from field: repeated orders.v1.BatchReplaceAdmissionItem results = 3;\n */\n results: BatchReplaceAdmissionItem[];\n\n /**\n * Number of items admitted and handed to execution.\n *\n * @generated from field: uint32 accepted_count = 4;\n */\n acceptedCount: number;\n\n /**\n * Number of items rejected before execution handoff.\n *\n * @generated from field: uint32 rejected_count = 5;\n */\n rejectedCount: number;\n\n /**\n * Server acceptance timestamp.\n *\n * @generated from field: google.protobuf.Timestamp accepted_ts = 6;\n */\n acceptedTs?: Timestamp | undefined;\n\n /**\n * Server acceptance timestamp as epoch nanoseconds.\n *\n * @generated from field: uint64 accepted_ts_ns = 7;\n */\n acceptedTsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceOrdersResponse.\n * Use `create(BatchReplaceOrdersResponseSchema)` to create a new message.\n */\nexport const BatchReplaceOrdersResponseSchema: GenMessage<BatchReplaceOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 35);\n\n/**\n * BatchCancelItem identifies a single order to cancel within a batch.\n *\n * @generated from message orders.v1.BatchCancelItem\n */\nexport type BatchCancelItem = Message<\"orders.v1.BatchCancelItem\"> & {\n /**\n * Order ID as fixed64. Exactly one of order_id or client_order_id.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Client order ID. Exactly one of order_id or client_order_id.\n *\n * @generated from field: string client_order_id = 2;\n */\n clientOrderId: string;\n\n /**\n * Optional symbol routing hint.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n};\n\n/**\n * Describes the message orders.v1.BatchCancelItem.\n * Use `create(BatchCancelItemSchema)` to create a new message.\n */\nexport const BatchCancelItemSchema: GenMessage<BatchCancelItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 36);\n\n/**\n * BatchCancelResultItem contains the per-item result of a batch cancel.\n *\n * @generated from message orders.v1.BatchCancelResultItem\n */\nexport type BatchCancelResultItem = Message<\"orders.v1.BatchCancelResultItem\"> & {\n /**\n * Per-item cancellation outcome.\n *\n * @generated from field: orders.v1.BatchCancelResultItem.Status status = 1;\n */\n status: BatchCancelResultItem_Status;\n\n /**\n * Resolved order ID (populated on accept).\n *\n * @generated from field: fixed64 order_id = 2;\n */\n orderId: bigint;\n\n /**\n * Echoed client order ID (when provided).\n *\n * @generated from field: string client_order_id = 3;\n */\n clientOrderId: string;\n\n /**\n * Error code if rejected.\n *\n * @generated from field: string code = 4;\n */\n code: string;\n\n /**\n * Structured rejection details. Present for rate-limit guidance and other typed failures.\n *\n * @generated from field: orders.v1.ErrorDetail error = 5;\n */\n error?: ErrorDetail | undefined;\n};\n\n/**\n * Describes the message orders.v1.BatchCancelResultItem.\n * Use `create(BatchCancelResultItemSchema)` to create a new message.\n */\nexport const BatchCancelResultItemSchema: GenMessage<BatchCancelResultItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 37);\n\n/**\n * Per-item cancellation outcome.\n *\n * @generated from enum orders.v1.BatchCancelResultItem.Status\n */\nexport enum BatchCancelResultItem_Status {\n /**\n * Batch cancellation outcome was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * The cancellation request was accepted for processing.\n *\n * @generated from enum value: ACCEPTED = 1;\n */\n ACCEPTED = 1,\n\n /**\n * The cancellation request was rejected.\n *\n * @generated from enum value: REJECTED = 2;\n */\n REJECTED = 2,\n}\n\n/**\n * Describes the enum orders.v1.BatchCancelResultItem.Status.\n */\nexport const BatchCancelResultItem_StatusSchema: GenEnum<BatchCancelResultItem_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 37, 0);\n\n/**\n * BatchCancelOrdersRequest cancels multiple orders by explicit ID.\n *\n * @generated from message orders.v1.BatchCancelOrdersRequest\n */\nexport type BatchCancelOrdersRequest = Message<\"orders.v1.BatchCancelOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Idempotency key (required).\n *\n * @generated from field: string request_id = 2;\n */\n requestId: string;\n\n /**\n * Orders to cancel (max 50).\n *\n * @generated from field: repeated orders.v1.BatchCancelItem items = 3;\n */\n items: BatchCancelItem[];\n};\n\n/**\n * Describes the message orders.v1.BatchCancelOrdersRequest.\n * Use `create(BatchCancelOrdersRequestSchema)` to create a new message.\n */\nexport const BatchCancelOrdersRequestSchema: GenMessage<BatchCancelOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 38);\n\n/**\n * BatchCancelOrdersResponse returns per-item results for a batch cancel.\n *\n * @generated from message orders.v1.BatchCancelOrdersResponse\n */\nexport type BatchCancelOrdersResponse = Message<\"orders.v1.BatchCancelOrdersResponse\"> & {\n /**\n * Per-item results in same order as request.\n *\n * @generated from field: repeated orders.v1.BatchCancelResultItem results = 1;\n */\n results: BatchCancelResultItem[];\n\n /**\n * Number of requested cancellations that were accepted.\n *\n * @generated from field: uint32 accepted_count = 2;\n */\n acceptedCount: number;\n\n /**\n * Number of requested cancellations that were rejected.\n *\n * @generated from field: uint32 rejected_count = 3;\n */\n rejectedCount: number;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 4;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 5;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchCancelOrdersResponse.\n * Use `create(BatchCancelOrdersResponseSchema)` to create a new message.\n */\nexport const BatchCancelOrdersResponseSchema: GenMessage<BatchCancelOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 39);\n\n/**\n * Side identifies whether an order buys or sells the base asset.\n *\n * @generated from enum orders.v1.Side\n */\nexport enum Side {\n /**\n * Side was not provided.\n *\n * @generated from enum value: SIDE_UNSPECIFIED = 0;\n */\n SIDE_UNSPECIFIED = 0,\n\n /**\n * Buy base asset using quote asset.\n *\n * @generated from enum value: BUY = 1;\n */\n BUY = 1,\n\n /**\n * Sell base asset for quote asset.\n *\n * @generated from enum value: SELL = 2;\n */\n SELL = 2,\n}\n\n/**\n * Describes the enum orders.v1.Side.\n */\nexport const SideSchema: GenEnum<Side> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 0);\n\n/**\n * OrderType identifies whether an order uses limit-price or market execution.\n *\n * @generated from enum orders.v1.OrderType\n */\nexport enum OrderType {\n /**\n * Order type was not provided.\n *\n * @generated from enum value: ORDER_TYPE_UNSPECIFIED = 0;\n */\n ORDER_TYPE_UNSPECIFIED = 0,\n\n /**\n * Limit order with an explicit price.\n *\n * @generated from enum value: LIMIT = 1;\n */\n LIMIT = 1,\n\n /**\n * Market order executed against available liquidity.\n *\n * @generated from enum value: MARKET = 2;\n */\n MARKET = 2,\n}\n\n/**\n * Describes the enum orders.v1.OrderType.\n */\nexport const OrderTypeSchema: GenEnum<OrderType> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 1);\n\n/**\n * TimeInForce controls how long an order may remain active and whether it must\n * fill completely.\n *\n * @generated from enum orders.v1.TimeInForce\n */\nexport enum TimeInForce {\n /**\n * Time-in-force was not provided; create requests default to GTC.\n *\n * @generated from enum value: TIME_IN_FORCE_UNSPECIFIED = 0;\n */\n TIME_IN_FORCE_UNSPECIFIED = 0,\n\n /**\n * Good-til-canceled.\n *\n * @generated from enum value: GTC = 1;\n */\n GTC = 1,\n\n /**\n * Immediate-or-cancel.\n *\n * @generated from enum value: IOC = 2;\n */\n IOC = 2,\n\n /**\n * Fill-or-kill.\n *\n * @generated from enum value: FOK = 3;\n */\n FOK = 3,\n\n /**\n * Good-til-date; the order may remain active only before its exact expiry time.\n *\n * @generated from enum value: GTD = 4;\n */\n GTD = 4,\n}\n\n/**\n * Describes the enum orders.v1.TimeInForce.\n */\nexport const TimeInForceSchema: GenEnum<TimeInForce> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 2);\n\n/**\n * FeeAsset identifies the asset in which an order fee is charged.\n *\n * @generated from enum orders.v1.FeeAsset\n */\nexport enum FeeAsset {\n /**\n * Fee asset was not provided; orders default to QUOTE.\n *\n * @generated from enum value: FEE_ASSET_UNSPECIFIED = 0;\n */\n FEE_ASSET_UNSPECIFIED = 0,\n\n /**\n * Fees are charged in the quote asset. SELL fees always use quote asset.\n *\n * @generated from enum value: QUOTE = 1;\n */\n QUOTE = 1,\n\n /**\n * BUY-only option: fees are deducted from the received base asset.\n *\n * @generated from enum value: BASE = 2;\n */\n BASE = 2,\n}\n\n/**\n * Describes the enum orders.v1.FeeAsset.\n */\nexport const FeeAssetSchema: GenEnum<FeeAsset> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 3);\n\n/**\n * SelfTradePreventionMode controls which orders expire when they would trade\n * against another order from the same account.\n *\n * @generated from enum orders.v1.SelfTradePreventionMode\n */\nexport enum SelfTradePreventionMode {\n /**\n * Self-trade prevention mode was not provided; create requests default to EXPIRE_MAKER.\n *\n * @generated from enum value: SELF_TRADE_PREVENTION_MODE_UNSPECIFIED = 0;\n */\n SELF_TRADE_PREVENTION_MODE_UNSPECIFIED = 0,\n\n /**\n * Cancel the resting maker order on self-trade.\n *\n * @generated from enum value: EXPIRE_MAKER = 1;\n */\n EXPIRE_MAKER = 1,\n\n /**\n * Cancel the incoming taker order on self-trade.\n *\n * @generated from enum value: EXPIRE_TAKER = 2;\n */\n EXPIRE_TAKER = 2,\n\n /**\n * Cancel both maker and taker orders on self-trade.\n *\n * @generated from enum value: EXPIRE_BOTH = 3;\n */\n EXPIRE_BOTH = 3,\n}\n\n/**\n * Describes the enum orders.v1.SelfTradePreventionMode.\n */\nexport const SelfTradePreventionModeSchema: GenEnum<SelfTradePreventionMode> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 4);\n\n/**\n * ErrorCode enumerates stable machine-readable error codes for the Orders API.\n * These mirror the REST problem+json \"code\" field for parity between REST and\n * ConnectRPC clients.\n *\n * @generated from enum orders.v1.ErrorCode\n */\nexport enum ErrorCode {\n /**\n * Error code was not provided.\n *\n * @generated from enum value: ERROR_CODE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Request could not be parsed or was structurally invalid.\n *\n * @generated from enum value: ERROR_CODE_BAD_REQUEST = 1;\n */\n BAD_REQUEST = 1,\n\n /**\n * Request fields failed validation.\n *\n * @generated from enum value: ERROR_CODE_INVALID_ARGUMENT = 2;\n */\n INVALID_ARGUMENT = 2,\n\n /**\n * Account does not have enough available balance for the order.\n *\n * @generated from enum value: ERROR_CODE_INSUFFICIENT_FUNDS = 3;\n */\n INSUFFICIENT_FUNDS = 3,\n\n /**\n * Requested trading symbol is unknown.\n *\n * @generated from enum value: ERROR_CODE_UNKNOWN_SYMBOL = 4;\n */\n UNKNOWN_SYMBOL = 4,\n\n /**\n * Price is invalid for the requested order.\n *\n * @generated from enum value: ERROR_CODE_BAD_PRICE = 5;\n */\n BAD_PRICE = 5,\n\n /**\n * Quantity is invalid for the requested order.\n *\n * @generated from enum value: ERROR_CODE_BAD_QTY = 6;\n */\n BAD_QTY = 6,\n\n /**\n * Order notional is below the pair minimum.\n *\n * @generated from enum value: ERROR_CODE_MIN_NOTIONAL = 7;\n */\n MIN_NOTIONAL = 7,\n\n /**\n * Quantity does not align with the pair step size.\n *\n * @generated from enum value: ERROR_CODE_QTY_STEP_SIZE = 8;\n */\n QTY_STEP_SIZE = 8,\n\n /**\n * Client order ID is already in use for a different active order.\n *\n * @generated from enum value: ERROR_CODE_CONFLICT_DUPLICATE_CLIENT_ORDER_ID = 9;\n */\n CONFLICT_DUPLICATE_CLIENT_ORDER_ID = 9,\n\n /**\n * Service is temporarily unavailable.\n *\n * @generated from enum value: ERROR_CODE_UNAVAILABLE = 10;\n */\n UNAVAILABLE = 10,\n\n /**\n * Caller is not authenticated.\n *\n * @generated from enum value: ERROR_CODE_UNAUTHENTICATED = 11;\n */\n UNAUTHENTICATED = 11,\n\n /**\n * Caller is authenticated but not allowed to perform this action.\n *\n * @generated from enum value: ERROR_CODE_PERMISSION_DENIED = 12;\n */\n PERMISSION_DENIED = 12,\n\n /**\n * Requested order or resource was not found.\n *\n * @generated from enum value: ERROR_CODE_NOT_FOUND = 13;\n */\n NOT_FOUND = 13,\n\n /**\n * Upstream dependency returned an error.\n *\n * @generated from enum value: ERROR_CODE_UPSTREAM_ERROR = 14;\n */\n UPSTREAM_ERROR = 14,\n\n /**\n * Requested fee asset is not allowed for this order.\n *\n * @generated from enum value: ERROR_CODE_FEE_ASSET_NOT_ALLOWED = 15;\n */\n FEE_ASSET_NOT_ALLOWED = 15,\n\n /**\n * Pair is disabled and does not accept orders.\n *\n * @generated from enum value: ERROR_CODE_PAIR_DISABLED = 16;\n */\n PAIR_DISABLED = 16,\n\n /**\n * Referenced order could not be resolved.\n *\n * @generated from enum value: ERROR_CODE_ORDER_UNKNOWN = 17;\n */\n ORDER_UNKNOWN = 17,\n\n /**\n * Order processing failed because of an unexpected error.\n *\n * @generated from enum value: ERROR_CODE_INTERNAL_ERROR = 18;\n */\n INTERNAL_ERROR = 18,\n\n /**\n * Sub-account is present but not in an active state (disabled, deleted,\n * etc.).\n *\n * @generated from enum value: ERROR_CODE_SUBACCOUNT_INACTIVE = 19;\n */\n SUBACCOUNT_INACTIVE = 19,\n\n /**\n * Sub-account policy prevented trading on this market (e.g. pair mask).\n *\n * @generated from enum value: ERROR_CODE_POLICY_MARKET_DENY = 20;\n */\n POLICY_MARKET_DENY = 20,\n\n /**\n * Sub-account policy max order notional exceeded.\n *\n * @generated from enum value: ERROR_CODE_POLICY_MAX_NOTIONAL = 21;\n */\n POLICY_MAX_NOTIONAL = 21,\n\n /**\n * Trading has been globally halted for this sub-account.\n *\n * @generated from enum value: ERROR_CODE_POLICY_TRADING_HALTED = 22;\n */\n POLICY_TRADING_HALTED = 22,\n\n /**\n * Sub-account policy does not allow spot trading (action mask).\n *\n * @generated from enum value: ERROR_CODE_POLICY_SPOT_TRADE_DENY = 23;\n */\n POLICY_SPOT_TRADE_DENY = 23,\n\n /**\n * API key is scoped to the master/root account and cannot trade on\n * sub-accounts.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_ROOT_SCOPE_ONLY = 24;\n */\n API_KEY_ROOT_SCOPE_ONLY = 24,\n\n /**\n * API key is scoped to a specific sub-account and cannot trade on the\n * master/root account.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_SUB_SCOPE_ONLY = 25;\n */\n API_KEY_SUB_SCOPE_ONLY = 25,\n\n /**\n * API key is scoped to a different sub-account than the one requested.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_SUBACCOUNT_MISMATCH = 26;\n */\n API_KEY_SUBACCOUNT_MISMATCH = 26,\n\n /**\n * API key must have an attached policy before it can be used for trading.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_POLICY_REQUIRED = 27;\n */\n API_KEY_POLICY_REQUIRED = 27,\n\n /**\n * API key referenced in the request could not be resolved by the Orders\n * service.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_UNKNOWN = 28;\n */\n API_KEY_UNKNOWN = 28,\n\n /**\n * API key policy does not allow trading this market, even though the\n * sub-account policy does.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_MARKET_DENY = 29;\n */\n API_KEY_MARKET_DENY = 29,\n\n /**\n * Price must align with the pair tick size (LIMIT orders).\n *\n * @generated from enum value: ERROR_CODE_PRICE_TICK_SIZE = 30;\n */\n PRICE_TICK_SIZE = 30,\n\n /**\n * Quantity is below the pair minimum quantity (base units).\n *\n * @generated from enum value: ERROR_CODE_MIN_QTY = 31;\n */\n MIN_QTY = 31,\n\n /**\n * Post-only is only valid for LIMIT orders.\n *\n * @generated from enum value: ERROR_CODE_POST_ONLY_LIMIT_ONLY = 32;\n */\n POST_ONLY_LIMIT_ONLY = 32,\n\n /**\n * Batch size exceeds the maximum allowed.\n *\n * @generated from enum value: ERROR_CODE_BATCH_TOO_LARGE = 33;\n */\n BATCH_TOO_LARGE = 33,\n\n /**\n * Sub-account policy maximum number of open orders has been reached.\n *\n * @generated from enum value: ERROR_CODE_POLICY_MAX_OPEN_ORDERS = 34;\n */\n POLICY_MAX_OPEN_ORDERS = 34,\n\n /**\n * Modify request in AMEND_ONLY mode requires replace semantics.\n *\n * @generated from enum value: ERROR_CODE_MODIFICATION_REQUIRES_REPLACE = 35;\n */\n MODIFICATION_REQUIRES_REPLACE = 35,\n\n /**\n * Idempotency key was reused with a different payload.\n *\n * @generated from enum value: ERROR_CODE_CONFLICT_IDEMPOTENCY_KEY_REUSE = 36;\n */\n CONFLICT_IDEMPOTENCY_KEY_REUSE = 36,\n\n /**\n * MARKET BUY cannot be reserved because no reference/top-of-book price is available.\n *\n * @generated from enum value: ERROR_CODE_MARKET_PRICE_UNAVAILABLE = 37;\n */\n MARKET_PRICE_UNAVAILABLE = 37,\n\n /**\n * Pair exists but is not listed yet.\n *\n * @generated from enum value: ERROR_CODE_PAIR_NOT_LISTED_YET = 50;\n */\n PAIR_NOT_LISTED_YET = 50,\n\n /**\n * Pair was delisted and is no longer tradable.\n *\n * @generated from enum value: ERROR_CODE_PAIR_DELISTED = 51;\n */\n PAIR_DELISTED = 51,\n\n /**\n * Pair is in cancel-only mode.\n *\n * @generated from enum value: ERROR_CODE_PAIR_CANCEL_ONLY = 52;\n */\n PAIR_CANCEL_ONLY = 52,\n\n /**\n * Pair is in post-only mode and requires post_only=true.\n *\n * @generated from enum value: ERROR_CODE_PAIR_POST_ONLY = 53;\n */\n PAIR_POST_ONLY = 53,\n\n /**\n * Pair is in reduce-only mode and does not accept new spot orders.\n *\n * @generated from enum value: ERROR_CODE_PAIR_REDUCE_ONLY = 54;\n */\n PAIR_REDUCE_ONLY = 54,\n\n /**\n * Account-level risk limits were exceeded.\n *\n * @generated from enum value: ERROR_CODE_RISK_LIMIT = 55;\n */\n RISK_LIMIT = 55,\n\n /**\n * Market is halted.\n *\n * @generated from enum value: ERROR_CODE_MARKET_HALTED = 56;\n */\n MARKET_HALTED = 56,\n\n /**\n * Referenced account could not be resolved by the trading service.\n *\n * @generated from enum value: ERROR_CODE_ACCOUNT_UNKNOWN = 57;\n */\n ACCOUNT_UNKNOWN = 57,\n\n /**\n * Post-only order would cross the book.\n *\n * @generated from enum value: ERROR_CODE_POST_ONLY_CROSS = 58;\n */\n POST_ONLY_CROSS = 58,\n\n /**\n * Reduce-only policy blocked the order.\n *\n * @generated from enum value: ERROR_CODE_REDUCE_ONLY_BLOCKED = 59;\n */\n REDUCE_ONLY_BLOCKED = 59,\n\n /**\n * Price band guard rejected the order.\n *\n * @generated from enum value: ERROR_CODE_PRICE_BAND_VIOLATION = 60;\n */\n PRICE_BAND_VIOLATION = 60,\n\n /**\n * Market-cap guard rejected the order.\n *\n * @generated from enum value: ERROR_CODE_MARKET_CAP_VIOLATION = 61;\n */\n MARKET_CAP_VIOLATION = 61,\n\n /**\n * Market order could not execute due to empty book.\n *\n * @generated from enum value: ERROR_CODE_EMPTY_BOOK = 62;\n */\n EMPTY_BOOK = 62,\n\n /**\n * FOK order rejected due to insufficient immediate liquidity.\n *\n * @generated from enum value: ERROR_CODE_FOK_INSUFFICIENT_LIQUIDITY = 63;\n */\n FOK_INSUFFICIENT_LIQUIDITY = 63,\n\n /**\n * Client order ID points to an order that already reached terminal state.\n *\n * @generated from enum value: ERROR_CODE_ORDER_ALREADY_TERMINAL = 64;\n */\n ORDER_ALREADY_TERMINAL = 64,\n\n /**\n * Trigger-specific error codes (40-49 range).\n * Trigger price is invalid (e.g., TP below current price for long).\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_PRICE_INVALID = 40;\n */\n TRIGGER_PRICE_INVALID = 40,\n\n /**\n * Trigger price source not supported (e.g., INDEX_PRICE before it's\n * available).\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_PRICE_SOURCE_UNSUPPORTED = 41;\n */\n TRIGGER_PRICE_SOURCE_UNSUPPORTED = 41,\n\n /**\n * Trailing stop distance must be positive.\n *\n * @generated from enum value: ERROR_CODE_TRAILING_DISTANCE_INVALID = 42;\n */\n TRAILING_DISTANCE_INVALID = 42,\n\n /**\n * Trigger not found (for cancel/get operations).\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_NOT_FOUND = 43;\n */\n TRIGGER_NOT_FOUND = 43,\n\n /**\n * Trigger cannot be canceled in current state.\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_CANCEL_REJECTED = 44;\n */\n TRIGGER_CANCEL_REJECTED = 44,\n\n /**\n * Trigger status does not allow requested lifecycle operation.\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_STATUS_INVALID = 45;\n */\n TRIGGER_STATUS_INVALID = 45,\n\n /**\n * Trigger type/state does not support requested lifecycle operation.\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_NOT_MODIFIABLE = 46;\n */\n TRIGGER_NOT_MODIFIABLE = 46,\n\n /**\n * Duplicate client trigger ID was reused with a different trigger payload.\n *\n * @generated from enum value: ERROR_CODE_CONFLICT_DUPLICATE_CLIENT_TRIGGER_ID = 47;\n */\n CONFLICT_DUPLICATE_CLIENT_TRIGGER_ID = 47,\n\n /**\n * Trailing-stop max slippage (ticks or bps) is invalid.\n *\n * @generated from enum value: ERROR_CODE_MAX_SLIPPAGE_INVALID = 48;\n */\n MAX_SLIPPAGE_INVALID = 48,\n\n /**\n * Client reference price is stale compared to server-side BBO/drift policy.\n *\n * @generated from enum value: ERROR_CODE_STALE_QUOTE = 65;\n */\n STALE_QUOTE = 65,\n\n /**\n * Request failed structural or cross-field validation.\n *\n * @generated from enum value: ERROR_CODE_VALIDATION_ERROR = 66;\n */\n VALIDATION_ERROR = 66,\n\n /**\n * This edge is at its bounded concurrent BatchReplace admission capacity.\n *\n * @generated from enum value: ERROR_CODE_OVERLOADED = 67;\n */\n OVERLOADED = 67,\n\n /**\n * The all-in quote budget cannot resolve one valid step-aligned base quantity.\n *\n * @generated from enum value: ERROR_CODE_MAX_QUOTE_DEBIT_TOO_SMALL = 68;\n */\n MAX_QUOTE_DEBIT_TOO_SMALL = 68,\n\n /**\n * The account exhausted its current order-admission quota.\n *\n * @generated from enum value: ERROR_CODE_RATE_LIMIT_EXCEEDED = 69;\n */\n RATE_LIMIT_EXCEEDED = 69,\n\n /**\n * Caller has a sub-account role that does not allow reading spot data.\n *\n * @generated from enum value: ERROR_CODE_SUBACCOUNT_READ_FORBIDDEN = 70;\n */\n SUBACCOUNT_READ_FORBIDDEN = 70,\n\n /**\n * Sub-account policy does not allow reading spot data.\n *\n * @generated from enum value: ERROR_CODE_POLICY_SPOT_READ_DENY = 71;\n */\n POLICY_SPOT_READ_DENY = 71,\n\n /**\n * API key policy does not allow reading spot data.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_SPOT_READ_DENY = 72;\n */\n API_KEY_SPOT_READ_DENY = 72,\n\n /**\n * The cancel request exceeded its bounded internal replay window.\n *\n * @generated from enum value: ERROR_CODE_CANCEL_REQUEST_EXPIRED = 73;\n */\n CANCEL_REQUEST_EXPIRED = 73,\n}\n\n/**\n * Describes the enum orders.v1.ErrorCode.\n */\nexport const ErrorCodeSchema: GenEnum<ErrorCode> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 5);\n\n/**\n * TriggerPriceSource defines which price feed to use for trigger evaluation.\n * v1 supports LAST_PRICE only; INDEX_PRICE and MARK_PRICE are reserved for\n * future.\n *\n * @generated from enum orders.v1.TriggerPriceSource\n */\nexport enum TriggerPriceSource {\n /**\n * Trigger price source was not provided; spot triggers default to LAST_PRICE.\n *\n * @generated from enum value: TRIGGER_PRICE_SOURCE_UNSPECIFIED = 0;\n */\n TRIGGER_PRICE_SOURCE_UNSPECIFIED = 0,\n\n /**\n * Last traded price (default for spot).\n *\n * @generated from enum value: LAST_PRICE = 1;\n */\n LAST_PRICE = 1,\n\n /**\n * Index price aggregated from external exchanges (future).\n *\n * @generated from enum value: INDEX_PRICE = 2;\n */\n INDEX_PRICE = 2,\n\n /**\n * Mark price for perpetuals (future).\n *\n * @generated from enum value: MARK_PRICE = 3;\n */\n MARK_PRICE = 3,\n}\n\n/**\n * Describes the enum orders.v1.TriggerPriceSource.\n */\nexport const TriggerPriceSourceSchema: GenEnum<TriggerPriceSource> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 6);\n\n/**\n * TriggerDirection defines whether the trigger fires when price goes above or\n * below threshold.\n *\n * @generated from enum orders.v1.TriggerDirection\n */\nexport enum TriggerDirection {\n /**\n * Trigger direction was not provided.\n *\n * @generated from enum value: TRIGGER_DIRECTION_UNSPECIFIED = 0;\n */\n TRIGGER_DIRECTION_UNSPECIFIED = 0,\n\n /**\n * Fire when price >= trigger_price (e.g., take-profit for long, stop-loss for\n * short).\n *\n * @generated from enum value: ABOVE = 1;\n */\n ABOVE = 1,\n\n /**\n * Fire when price <= trigger_price (e.g., stop-loss for long, take-profit for\n * short).\n *\n * @generated from enum value: BELOW = 2;\n */\n BELOW = 2,\n}\n\n/**\n * Describes the enum orders.v1.TriggerDirection.\n */\nexport const TriggerDirectionSchema: GenEnum<TriggerDirection> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 7);\n\n/**\n * ModifyBehavior controls how ModifyOrder should handle amend-vs-replace paths.\n * MODIFY_BEHAVIOR_UNSPECIFIED is treated as AMEND_OR_REPLACE by server logic.\n *\n * @generated from enum orders.v1.ModifyBehavior\n */\nexport enum ModifyBehavior {\n /**\n * Behavior was not provided; server treats this as AMEND_OR_REPLACE.\n *\n * @generated from enum value: MODIFY_BEHAVIOR_UNSPECIFIED = 0;\n */\n MODIFY_BEHAVIOR_UNSPECIFIED = 0,\n\n /**\n * Try in-place amend first; if patch cannot be amended, fall back to replace.\n *\n * @generated from enum value: AMEND_OR_REPLACE = 1;\n */\n AMEND_OR_REPLACE = 1,\n\n /**\n * In-place amend only; reject if patch requires replace semantics.\n *\n * @generated from enum value: AMEND_ONLY = 2;\n */\n AMEND_ONLY = 2,\n\n /**\n * Always attempt replace semantics.\n *\n * @generated from enum value: REPLACE_ONLY = 3;\n */\n REPLACE_ONLY = 3,\n}\n\n/**\n * Describes the enum orders.v1.ModifyBehavior.\n */\nexport const ModifyBehaviorSchema: GenEnum<ModifyBehavior> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 8);\n\n/**\n * ModifyActionTaken describes what action was applied for a modify request.\n *\n * @generated from enum orders.v1.ModifyActionTaken\n */\nexport enum ModifyActionTaken {\n /**\n * Modify action is unknown or the request was rejected.\n *\n * @generated from enum value: MODIFY_ACTION_UNSPECIFIED = 0;\n */\n MODIFY_ACTION_UNSPECIFIED = 0,\n\n /**\n * Existing order was amended in place.\n *\n * @generated from enum value: AMENDED = 1;\n */\n AMENDED = 1,\n\n /**\n * Existing order was canceled and replaced with a new order.\n *\n * @generated from enum value: REPLACED = 2;\n */\n REPLACED = 2,\n}\n\n/**\n * Describes the enum orders.v1.ModifyActionTaken.\n */\nexport const ModifyActionTakenSchema: GenEnum<ModifyActionTaken> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 9);\n\n/**\n * BatchReplaceAdmissionStatus summarizes admission of one quote-refresh batch.\n *\n * @generated from enum orders.v1.BatchReplaceAdmissionStatus\n */\nexport enum BatchReplaceAdmissionStatus {\n /**\n * Admission status is unavailable.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Every requested replacement was admitted.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_ADMITTED = 1;\n */\n ADMITTED = 1,\n\n /**\n * Some requested replacements were admitted and others were rejected.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_PARTIALLY_ADMITTED = 2;\n */\n PARTIALLY_ADMITTED = 2,\n\n /**\n * No requested replacement was admitted.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_REJECTED = 3;\n */\n REJECTED = 3,\n}\n\n/**\n * Describes the enum orders.v1.BatchReplaceAdmissionStatus.\n */\nexport const BatchReplaceAdmissionStatusSchema: GenEnum<BatchReplaceAdmissionStatus> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 10);\n\n/**\n * BatchReplaceItemAdmissionStatus describes admission of one replacement.\n *\n * @generated from enum orders.v1.BatchReplaceItemAdmissionStatus\n */\nexport enum BatchReplaceItemAdmissionStatus {\n /**\n * Item admission status is unavailable.\n *\n * @generated from enum value: BATCH_REPLACE_ITEM_ADMISSION_STATUS_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * The replacement was admitted and handed to execution.\n *\n * @generated from enum value: BATCH_REPLACE_ITEM_ADMISSION_STATUS_ADMITTED = 1;\n */\n ADMITTED = 1,\n\n /**\n * The replacement was rejected before execution handoff.\n *\n * @generated from enum value: BATCH_REPLACE_ITEM_ADMISSION_STATUS_REJECTED = 2;\n */\n REJECTED = 2,\n}\n\n/**\n * Describes the enum orders.v1.BatchReplaceItemAdmissionStatus.\n */\nexport const BatchReplaceItemAdmissionStatusSchema: GenEnum<BatchReplaceItemAdmissionStatus> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 11);\n\n/**\n * @generated from service orders.v1.OrdersService\n */\nexport const OrdersService: GenService<{\n /**\n * Check whether an order is currently admissible without creating an order,\n * claiming its client order ID, or reserving funds.\n *\n * @generated from rpc orders.v1.OrdersService.PreviewOrder\n */\n previewOrder: {\n methodKind: \"unary\";\n input: typeof PreviewOrderRequestSchema;\n output: typeof PreviewOrderResponseSchema;\n },\n /**\n * Create a new order.\n * REST clients submit decimal quantity and price strings. ConnectRPC clients\n * submit scaled integer values.\n *\n * @generated from rpc orders.v1.OrdersService.CreateOrder\n */\n createOrder: {\n methodKind: \"unary\";\n input: typeof CreateOrderRequestSchema;\n output: typeof CreateOrderResponseSchema;\n },\n /**\n * Cancels an existing order by id or client order id.\n * REST clients submit base58 order IDs. ConnectRPC clients submit fixed64\n * order IDs.\n *\n * @generated from rpc orders.v1.OrdersService.CancelOrder\n */\n cancelOrder: {\n methodKind: \"unary\";\n input: typeof CancelOrderRequestSchema;\n output: typeof CancelOrderResponseSchema;\n },\n /**\n * Cancels all matching open orders for an account (kill switch).\n * Evaluates matching orders from a consistent snapshot at request start.\n * Final state is confirmed via the order update stream or read path.\n *\n * @generated from rpc orders.v1.OrdersService.CancelAllOrders\n */\n cancelAllOrders: {\n methodKind: \"unary\";\n input: typeof CancelAllOrdersRequestSchema;\n output: typeof CancelAllOrdersResponseSchema;\n },\n /**\n * Set cancel-all-after (dead-man switch).\n * Arms or disables automatic cancel-all if heartbeat is not refreshed before expiry.\n *\n * @generated from rpc orders.v1.OrdersService.CancelAllAfter\n */\n cancelAllAfter: {\n methodKind: \"unary\";\n input: typeof CancelAllAfterRequestSchema;\n output: typeof CancelAllAfterResponseSchema;\n },\n /**\n * Places multiple orders in a single request (best-effort per item).\n *\n * @generated from rpc orders.v1.OrdersService.BatchCreateOrders\n */\n batchCreateOrders: {\n methodKind: \"unary\";\n input: typeof BatchCreateOrdersRequestSchema;\n output: typeof BatchCreateOrdersResponseSchema;\n },\n /**\n * Modifies an existing order using explicit behavior policy.\n *\n * @generated from rpc orders.v1.OrdersService.ModifyOrder\n */\n modifyOrder: {\n methodKind: \"unary\";\n input: typeof ModifyOrderRequestSchema;\n output: typeof ModifyOrderResponseSchema;\n },\n /**\n * Replaces same-symbol orders and returns after authoritative admission.\n *\n * @generated from rpc orders.v1.OrdersService.BatchReplaceOrders\n */\n batchReplaceOrders: {\n methodKind: \"unary\";\n input: typeof BatchReplaceOrdersRequestSchema;\n output: typeof BatchReplaceOrdersResponseSchema;\n },\n /**\n * Cancels multiple orders by explicit ID in a single request.\n * Per-item results are returned; partial success is the default.\n * Final state is confirmed via the order update stream or read path.\n *\n * @generated from rpc orders.v1.OrdersService.BatchCancelOrders\n */\n batchCancelOrders: {\n methodKind: \"unary\";\n input: typeof BatchCancelOrdersRequestSchema;\n output: typeof BatchCancelOrdersResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_orders_v1_orders, 0);\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"orders_pb.js","names":[],"sources":["../../../../src/gen/orders/v1/orders_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v2.13.0 with parameter \"target=ts,import_extension=js\"\n// @generated from file orders/v1/orders.proto (package orders.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 { Timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_google_protobuf_timestamp } from \"@bufbuild/protobuf/wkt\";\nimport type { RateLimitDetail } from \"../../polyester/ratelimit/v1/types_pb.js\";\nimport { file_polyester_ratelimit_v1_types } from \"../../polyester/ratelimit/v1/types_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file orders/v1/orders.proto.\n */\nexport const file_orders_v1_orders: GenFile = /*@__PURE__*/\n fileDesc(\"ChZvcmRlcnMvdjEvb3JkZXJzLnByb3RvEglvcmRlcnMudjEiewoJTWFya2V0SW9jEh4KEm1heF9zbGlwcGFnZV90aWNrcxgBIAEoBUIASAASHAoQbWF4X3NsaXBwYWdlX2JwcxgCIAEoBUIASAASIAoWY2xpZW50X3JlZl9wcmljZV90aWNrcxgDIAEoA0IAQg4KDG1heF9zbGlwcGFnZSI0CghMaW1pdEd0YxIVCgtwcmljZV90aWNrcxgBIAEoA0IAEhEKCXBvc3Rfb25seRgCIAEoCCJnCghMaW1pdEd0ZBIVCgtwcmljZV90aWNrcxgBIAEoA0IAEhEKCXBvc3Rfb25seRgCIAEoCBIvCglleHBpcmVfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wQgA6ACIhCghMaW1pdElvYxIVCgtwcmljZV90aWNrcxgBIAEoA0IAIiEKCExpbWl0Rm9rEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAisgQKC09yZGVySW50ZW50EhMKCXN5bWJvbF9pZBgBIAEoDUIAEh8KBHNpZGUYAiABKA4yDy5vcmRlcnMudjEuU2lkZUIAEhsKD2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0IASAASIgoWbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgEIAEoA0IASAASKgoKbWFya2V0X2lvYxgKIAEoCzIULm9yZGVycy52MS5NYXJrZXRJb2NIARIoCglsaW1pdF9ndGMYCyABKAsyEy5vcmRlcnMudjEuTGltaXRHdGNIARIoCglsaW1pdF9pb2MYDCABKAsyEy5vcmRlcnMudjEuTGltaXRJb2NIARIoCglsaW1pdF9mb2sYDSABKAsyEy5vcmRlcnMudjEuTGltaXRGb2tIARIoCglsaW1pdF9ndGQYDiABKAsyEy5vcmRlcnMudjEuTGltaXRHdGRIARIZCg9jbGllbnRfb3JkZXJfaWQYFCABKAlCABIoCglmZWVfYXNzZXQYFSABKA4yEy5vcmRlcnMudjEuRmVlQXNzZXRCABJIChpzZWxmX3RyYWRlX3ByZXZlbnRpb25fbW9kZRgWIAEoDjIiLm9yZGVycy52MS5TZWxmVHJhZGVQcmV2ZW50aW9uTW9kZUIAEiwKDWF0dGFjaGVkX3Jpc2sYHiABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeToAQgoKBnNpemluZxIAQg0KCWV4ZWN1dGlvbhIAImsKEkNyZWF0ZU9yZGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESJwoFb3JkZXIYAiABKAsyFi5vcmRlcnMudjEuT3JkZXJJbnRlbnRCAEIQCg5fc3ViYWNjb3VudF9pZCLCAwoTQ3JlYXRlT3JkZXJSZXNwb25zZRIQCghvcmRlcl9pZBgBIAEoBhIXCg9jbGllbnRfb3JkZXJfaWQYAiABKAkSLwoLYWNjZXB0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEWFjY2VwdGVkX2F0X3RzX25zGAQgASgEEiAKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgFIAEoAxItCiBzdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgGIAEoA0gAiAEBEiMKFnRha2VfcHJvZml0X3RyaWdnZXJfaWQYFCABKARIAYgBARIhChRzdG9wX2xvc3NfdHJpZ2dlcl9pZBgVIAEoBEgCiAEBEiUKGHRyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZBgWIAEoBEgDiAEBQiMKIV9zdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZEIZChdfdGFrZV9wcm9maXRfdHJpZ2dlcl9pZEIXChVfc3RvcF9sb3NzX3RyaWdnZXJfaWRCGwoZX3RyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZCJsChNQcmV2aWV3T3JkZXJSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARInCgVvcmRlchgCIAEoCzIWLm9yZGVycy52MS5PcmRlckludGVudEIAQhAKDl9zdWJhY2NvdW50X2lkIqkCChRQcmV2aWV3T3JkZXJSZXNwb25zZRIXCgphZG1pc3NpYmxlGAEgASgISACIAQESKQoJcmVqZWN0aW9uGAIgASgLMhYub3JkZXJzLnYxLkVycm9yRGV0YWlsEiUKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0gBiAEBEigKG3Byb3RlY3RlZF9wcmljZV9ib3VuZF90aWNrcxgEIAEoA0gCiAEBEjAKDGV2YWx1YXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2FkbWlzc2libGVCGwoZX3Jlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZEIeChxfcHJvdGVjdGVkX3ByaWNlX2JvdW5kX3RpY2tzIpEBChJDYW5jZWxPcmRlclJlcXVlc3QSFAoIb3JkZXJfaWQYASABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgCIAEoCUIASAASEQoJc3ltYm9sX2lkGAMgASgNEhoKDXN1YmFjY291bnRfaWQYBCABKAZIAYgBAToAQgUKA2tleUIQCg5fc3ViYWNjb3VudF9pZCLHAQoTQ2FuY2VsT3JkZXJSZXNwb25zZRI3CgZzdGF0dXMYASABKA4yJS5vcmRlcnMudjEuQ2FuY2VsT3JkZXJSZXNwb25zZS5TdGF0dXNCABIQCghvcmRlcl9pZBgCIAEoBhImCgJ0cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBCABKAQiLgoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEgwKCEFDQ0VQVEVEEAEiRgoORmllbGRWaW9sYXRpb24SEgoKZmllbGRfcGF0aBgBIAEoCRIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkinQEKC0Vycm9yRGV0YWlsEiIKBGNvZGUYASABKA4yFC5vcmRlcnMudjEuRXJyb3JDb2RlEi0KCnZpb2xhdGlvbnMYAiADKAsyGS5vcmRlcnMudjEuRmllbGRWaW9sYXRpb24SOwoKcmF0ZV9saW1pdBgDIAEoCzInLnBvbHllc3Rlci5yYXRlbGltaXQudjEuUmF0ZUxpbWl0RGV0YWlsIg8KDVJpc2tNYXJrZXRJb2MiJQoMUmlza0xpbWl0R3RjEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAifAoNUmlza0V4ZWN1dGlvbhIuCgptYXJrZXRfaW9jGAEgASgLMhgub3JkZXJzLnYxLlJpc2tNYXJrZXRJb2NIABIsCglsaW1pdF9ndGMYAiABKAsyFy5vcmRlcnMudjEuUmlza0xpbWl0R3RjSABCDQoJZXhlY3V0aW9uEgAiXAoQVGFrZVByb2ZpdFBvbGljeRIdChN0cmlnZ2VyX3ByaWNlX3RpY2tzGAEgASgDQgASKQoFY2hpbGQYAiABKAsyGC5vcmRlcnMudjEuUmlza0V4ZWN1dGlvbkIAIloKDlN0b3BMb3NzUG9saWN5Eh0KE3RyaWdnZXJfcHJpY2VfdGlja3MYASABKANCABIpCgVjaGlsZBgCIAEoCzIYLm9yZGVycy52MS5SaXNrRXhlY3V0aW9uQgAi3wEKElRyYWlsaW5nU3RvcFBvbGljeRIjChd0cmFpbGluZ19kaXN0YW5jZV90aWNrcxgBIAEoA0IASAASIQoVdHJhaWxpbmdfZGlzdGFuY2VfYnBzGAIgASgFQgBIABIeChJtYXhfc2xpcHBhZ2VfdGlja3MYBiABKAVCAEgBEhwKEG1heF9zbGlwcGFnZV9icHMYByABKAVCAEgBEh4KFmFjdGl2YXRpb25fcHJpY2VfdGlja3MYAyABKANCEwoRdHJhaWxpbmdfZGlzdGFuY2VCDgoMbWF4X3NsaXBwYWdlIsEBCgpSaXNrUG9saWN5EjAKC3Rha2VfcHJvZml0GAEgASgLMhsub3JkZXJzLnYxLlRha2VQcm9maXRQb2xpY3kSLgoJc3RvcF9sb3NzGAIgASgLMhkub3JkZXJzLnYxLlN0b3BMb3NzUG9saWN5SAASNgoNdHJhaWxpbmdfc3RvcBgDIAEoCzIdLm9yZGVycy52MS5UcmFpbGluZ1N0b3BQb2xpY3lIABILCgNvY28YBCABKAg6AEIKCghzdG9wX2xlZyKkAQoWQ2FuY2VsQWxsT3JkZXJzUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESFAoKc3ltYm9sX2lkcxgCIAMoDUIAEh8KBHNpZGUYAyABKA4yDy5vcmRlcnMudjEuU2lkZUIAEg8KB2RyeV9ydW4YBCABKAgSFAoKcmVxdWVzdF9pZBgGIAEoCUIAQhAKDl9zdWJhY2NvdW50X2lkIpYCChdDYW5jZWxBbGxPcmRlcnNSZXNwb25zZRI7CgZzdGF0dXMYASABKA4yKS5vcmRlcnMudjEuQ2FuY2VsQWxsT3JkZXJzUmVzcG9uc2UuU3RhdHVzQgASFgoObWF0Y2hlZF9vcmRlcnMYAiABKA0SGQoRc3VibWl0dGVkX2NhbmNlbHMYAyABKA0SFgoOZmFpbGVkX2NhbmNlbHMYBCABKA0SJgoCdHMYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRzX25zGAYgASgEIjwKBlN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABINCglTVUJNSVRURUQQARILCgdEUllfUlVOEAIiqAEKFUNhbmNlbEFsbEFmdGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESEwoLdGltZW91dF9zZWMYAiABKA0SEwoJc3ltYm9sX2lkGAMgASgNQgASHwoEc2lkZRgEIAEoDjIPLm9yZGVycy52MS5TaWRlQgASFAoKcmVxdWVzdF9pZBgFIAEoCUIAOgBCEAoOX3N1YmFjY291bnRfaWQi/wEKFkNhbmNlbEFsbEFmdGVyUmVzcG9uc2USOgoGc3RhdHVzGAEgASgOMigub3JkZXJzLnYxLkNhbmNlbEFsbEFmdGVyUmVzcG9uc2UuU3RhdHVzQgASHQoVZWZmZWN0aXZlX3RpbWVvdXRfc2VjGAIgASgNEhgKEGV4cGlyZXNfYXRfdHNfbnMYAyABKAQSJgoCdHMYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRzX25zGAUgASgEIjkKBlN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABIJCgVBUk1FRBABEgwKCERJU0FCTEVEEAIi3QIKE0JhdGNoQ3JlYXRlQWNjZXB0ZWQSEAoIb3JkZXJfaWQYASABKAYSIwoWdGFrZV9wcm9maXRfdHJpZ2dlcl9pZBgCIAEoBEgAiAEBEiEKFHN0b3BfbG9zc190cmlnZ2VyX2lkGAMgASgESAGIAQESJQoYdHJhaWxpbmdfc3RvcF90cmlnZ2VyX2lkGAQgASgESAKIAQESIAoYcmVzb2x2ZWRfYmFzZV9xdHlfc2NhbGVkGAUgASgDEi0KIHN1Ym1pdHRlZF9tYXhfcXVvdGVfZGViaXRfc2NhbGVkGAYgASgDSAOIAQFCGQoXX3Rha2VfcHJvZml0X3RyaWdnZXJfaWRCFwoVX3N0b3BfbG9zc190cmlnZ2VyX2lkQhsKGV90cmFpbGluZ19zdG9wX3RyaWdnZXJfaWRCIwohX3N1Ym1pdHRlZF9tYXhfcXVvdGVfZGViaXRfc2NhbGVkIj4KE0JhdGNoQ3JlYXRlUmVqZWN0ZWQSJwoFZXJyb3IYASABKAsyFi5vcmRlcnMudjEuRXJyb3JEZXRhaWxCACKlAQoVQmF0Y2hDcmVhdGVSZXN1bHRJdGVtEhcKD2NsaWVudF9vcmRlcl9pZBgBIAEoCRIyCghhY2NlcHRlZBgCIAEoCzIeLm9yZGVycy52MS5CYXRjaENyZWF0ZUFjY2VwdGVkSAASMgoIcmVqZWN0ZWQYAyABKAsyHi5vcmRlcnMudjEuQmF0Y2hDcmVhdGVSZWplY3RlZEgAQgsKB291dGNvbWUSACKHAQoYQmF0Y2hDcmVhdGVPcmRlcnNSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARIUCgpyZXF1ZXN0X2lkGAIgASgJQgASJwoFaXRlbXMYAyADKAsyFi5vcmRlcnMudjEuT3JkZXJJbnRlbnRCAEIQCg5fc3ViYWNjb3VudF9pZCK1AQoZQmF0Y2hDcmVhdGVPcmRlcnNSZXNwb25zZRIxCgdyZXN1bHRzGAEgAygLMiAub3JkZXJzLnYxLkJhdGNoQ3JlYXRlUmVzdWx0SXRlbRIWCg5hY2NlcHRlZF9jb3VudBgCIAEoDRIWCg5yZWplY3RlZF9jb3VudBgDIAEoDRImCgJ0cxgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBSABKAQikQMKEk1vZGlmeU9yZGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSAGIAQESFAoIb3JkZXJfaWQYAiABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgDIAEoCUIASAASFAoKcmVxdWVzdF9pZBgEIAEoCUIAEh4KD25ld19wcmljZV90aWNrcxgFIAEoA0IASAKIAQESHQoObmV3X3F0eV9zY2FsZWQYBiABKANCAEgDiAEBEjAKEW5ld19hdHRhY2hlZF9yaXNrGAcgASgLMhUub3JkZXJzLnYxLlJpc2tQb2xpY3kSLQoIYmVoYXZpb3IYCCABKA4yGS5vcmRlcnMudjEuTW9kaWZ5QmVoYXZpb3JCABIdChNuZXdfY2xpZW50X29yZGVyX2lkGAkgASgJQgASEwoJc3ltYm9sX2lkGAogASgNQgA6AEIHCgNrZXkSAEIQCg5fc3ViYWNjb3VudF9pZEISChBfbmV3X3ByaWNlX3RpY2tzQhEKD19uZXdfcXR5X3NjYWxlZCL8AgoTTW9kaWZ5T3JkZXJSZXNwb25zZRIyCgxhY3Rpb25fdGFrZW4YASABKA4yHC5vcmRlcnMudjEuTW9kaWZ5QWN0aW9uVGFrZW4SFAoMb2xkX29yZGVyX2lkGAIgASgGEhYKDmZpbmFsX29yZGVyX2lkGAMgASgGEgwKBGNvZGUYBCABKAkSIwoWdGFrZV9wcm9maXRfdHJpZ2dlcl9pZBgFIAEoBEgAiAEBEiEKFHN0b3BfbG9zc190cmlnZ2VyX2lkGAYgASgESAGIAQESJQoYdHJhaWxpbmdfc3RvcF90cmlnZ2VyX2lkGAcgASgESAKIAQESJgoCdHMYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRzX25zGAkgASgEQhkKF190YWtlX3Byb2ZpdF90cmlnZ2VyX2lkQhcKFV9zdG9wX2xvc3NfdHJpZ2dlcl9pZEIbChlfdHJhaWxpbmdfc3RvcF90cmlnZ2VyX2lkIowCChVCYXRjaFJlcGxhY2VPcmRlckl0ZW0SFAoIb3JkZXJfaWQYASABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgCIAEoCUIASAASHgoPbmV3X3ByaWNlX3RpY2tzGAMgASgDQgBIAYgBARIdCg5uZXdfcXR5X3NjYWxlZBgEIAEoA0IASAKIAQESMAoRbmV3X2F0dGFjaGVkX3Jpc2sYBSABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeRIdChNuZXdfY2xpZW50X29yZGVyX2lkGAYgASgJQgA6AEIHCgNrZXkSAEISChBfbmV3X3ByaWNlX3RpY2tzQhEKD19uZXdfcXR5X3NjYWxlZCKhAgoZQmF0Y2hSZXBsYWNlQWRtaXNzaW9uSXRlbRISCgppdGVtX2luZGV4GAEgASgNEjoKBnN0YXR1cxgCIAEoDjIqLm9yZGVycy52MS5CYXRjaFJlcGxhY2VJdGVtQWRtaXNzaW9uU3RhdHVzEhQKDG9sZF9vcmRlcl9pZBgDIAEoBhIcChRyZXBsYWNlbWVudF9vcmRlcl9pZBgEIAEoBhIXCg9jbGllbnRfb3JkZXJfaWQYBSABKAkSDAoEY29kZRgGIAEoCRIlCgVlcnJvchgHIAEoCzIWLm9yZGVycy52MS5FcnJvckRldGFpbBIyCgxhY3Rpb25fdGFrZW4YCCABKA4yHC5vcmRlcnMudjEuTW9kaWZ5QWN0aW9uVGFrZW4iqQEKGUJhdGNoUmVwbGFjZU9yZGVyc1JlcXVlc3QSGgoNc3ViYWNjb3VudF9pZBgBIAEoBkgAiAEBEhMKCXN5bWJvbF9pZBgCIAEoDUIAEhQKCnJlcXVlc3RfaWQYAyABKAlCABIxCgVpdGVtcxgEIAMoCzIgLm9yZGVycy52MS5CYXRjaFJlcGxhY2VPcmRlckl0ZW1CADoAQhAKDl9zdWJhY2NvdW50X2lkIp4CChpCYXRjaFJlcGxhY2VPcmRlcnNSZXNwb25zZRIYChBiYXRjaF9yZXF1ZXN0X2lkGAEgASgGEjYKBnN0YXR1cxgCIAEoDjImLm9yZGVycy52MS5CYXRjaFJlcGxhY2VBZG1pc3Npb25TdGF0dXMSNQoHcmVzdWx0cxgDIAMoCzIkLm9yZGVycy52MS5CYXRjaFJlcGxhY2VBZG1pc3Npb25JdGVtEhYKDmFjY2VwdGVkX2NvdW50GAQgASgNEhYKDnJlamVjdGVkX2NvdW50GAUgASgNEi8KC2FjY2VwdGVkX3RzGAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIWCg5hY2NlcHRlZF90c19ucxgHIAEoBCJVCg9CYXRjaENhbmNlbEl0ZW0SEgoIb3JkZXJfaWQYASABKAZCABIZCg9jbGllbnRfb3JkZXJfaWQYAiABKAlCABIRCglzeW1ib2xfaWQYAyABKA06ACLwAQoVQmF0Y2hDYW5jZWxSZXN1bHRJdGVtEjkKBnN0YXR1cxgBIAEoDjInLm9yZGVycy52MS5CYXRjaENhbmNlbFJlc3VsdEl0ZW0uU3RhdHVzQgASEAoIb3JkZXJfaWQYAiABKAYSFwoPY2xpZW50X29yZGVyX2lkGAMgASgJEgwKBGNvZGUYBCABKAkSJQoFZXJyb3IYBSABKAsyFi5vcmRlcnMudjEuRXJyb3JEZXRhaWwiPAoGU3RhdHVzEhYKElNUQVRVU19VTlNQRUNJRklFRBAAEgwKCEFDQ0VQVEVEEAESDAoIUkVKRUNURUQQAiKLAQoYQmF0Y2hDYW5jZWxPcmRlcnNSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARIUCgpyZXF1ZXN0X2lkGAIgASgJQgASKwoFaXRlbXMYAyADKAsyGi5vcmRlcnMudjEuQmF0Y2hDYW5jZWxJdGVtQgBCEAoOX3N1YmFjY291bnRfaWQitQEKGUJhdGNoQ2FuY2VsT3JkZXJzUmVzcG9uc2USMQoHcmVzdWx0cxgBIAMoCzIgLm9yZGVycy52MS5CYXRjaENhbmNlbFJlc3VsdEl0ZW0SFgoOYWNjZXB0ZWRfY291bnQYAiABKA0SFgoOcmVqZWN0ZWRfY291bnQYAyABKA0SJgoCdHMYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEg0KBXRzX25zGAUgASgEKi8KBFNpZGUSFAoQU0lERV9VTlNQRUNJRklFRBAAEgcKA0JVWRABEggKBFNFTEwQAio+CglPcmRlclR5cGUSGgoWT1JERVJfVFlQRV9VTlNQRUNJRklFRBAAEgkKBUxJTUlUEAESCgoGTUFSS0VUEAIqUAoLVGltZUluRm9yY2USHQoZVElNRV9JTl9GT1JDRV9VTlNQRUNJRklFRBAAEgcKA0dUQxABEgcKA0lPQxACEgcKA0ZPSxADEgcKA0dURBAEKjoKCEZlZUFzc2V0EhkKFUZFRV9BU1NFVF9VTlNQRUNJRklFRBAAEgkKBVFVT1RFEAESCAoEQkFTRRACKnoKF1NlbGZUcmFkZVByZXZlbnRpb25Nb2RlEioKJlNFTEZfVFJBREVfUFJFVkVOVElPTl9NT0RFX1VOU1BFQ0lGSUVEEAASEAoMRVhQSVJFX01BS0VSEAESEAoMRVhQSVJFX1RBS0VSEAISDwoLRVhQSVJFX0JPVEgQAyrVEwoJRXJyb3JDb2RlEhoKFkVSUk9SX0NPREVfVU5TUEVDSUZJRUQQABIaChZFUlJPUl9DT0RFX0JBRF9SRVFVRVNUEAESHwobRVJST1JfQ09ERV9JTlZBTElEX0FSR1VNRU5UEAISIQodRVJST1JfQ09ERV9JTlNVRkZJQ0lFTlRfRlVORFMQAxIdChlFUlJPUl9DT0RFX1VOS05PV05fU1lNQk9MEAQSGAoURVJST1JfQ09ERV9CQURfUFJJQ0UQBRIWChJFUlJPUl9DT0RFX0JBRF9RVFkQBhIbChdFUlJPUl9DT0RFX01JTl9OT1RJT05BTBAHEhwKGEVSUk9SX0NPREVfUVRZX1NURVBfU0laRRAIEjEKLUVSUk9SX0NPREVfQ09ORkxJQ1RfRFVQTElDQVRFX0NMSUVOVF9PUkRFUl9JRBAJEhoKFkVSUk9SX0NPREVfVU5BVkFJTEFCTEUQChIeChpFUlJPUl9DT0RFX1VOQVVUSEVOVElDQVRFRBALEiAKHEVSUk9SX0NPREVfUEVSTUlTU0lPTl9ERU5JRUQQDBIYChRFUlJPUl9DT0RFX05PVF9GT1VORBANEh0KGUVSUk9SX0NPREVfVVBTVFJFQU1fRVJST1IQDhIkCiBFUlJPUl9DT0RFX0ZFRV9BU1NFVF9OT1RfQUxMT1dFRBAPEhwKGEVSUk9SX0NPREVfUEFJUl9ESVNBQkxFRBAQEhwKGEVSUk9SX0NPREVfT1JERVJfVU5LTk9XThAREh0KGUVSUk9SX0NPREVfSU5URVJOQUxfRVJST1IQEhIiCh5FUlJPUl9DT0RFX1NVQkFDQ09VTlRfSU5BQ1RJVkUQExIhCh1FUlJPUl9DT0RFX1BPTElDWV9NQVJLRVRfREVOWRAUEiIKHkVSUk9SX0NPREVfUE9MSUNZX01BWF9OT1RJT05BTBAVEiQKIEVSUk9SX0NPREVfUE9MSUNZX1RSQURJTkdfSEFMVEVEEBYSJQohRVJST1JfQ09ERV9QT0xJQ1lfU1BPVF9UUkFERV9ERU5ZEBcSJgoiRVJST1JfQ09ERV9BUElfS0VZX1JPT1RfU0NPUEVfT05MWRAYEiUKIUVSUk9SX0NPREVfQVBJX0tFWV9TVUJfU0NPUEVfT05MWRAZEioKJkVSUk9SX0NPREVfQVBJX0tFWV9TVUJBQ0NPVU5UX01JU01BVENIEBoSJgoiRVJST1JfQ09ERV9BUElfS0VZX1BPTElDWV9SRVFVSVJFRBAbEh4KGkVSUk9SX0NPREVfQVBJX0tFWV9VTktOT1dOEBwSIgoeRVJST1JfQ09ERV9BUElfS0VZX01BUktFVF9ERU5ZEB0SHgoaRVJST1JfQ09ERV9QUklDRV9USUNLX1NJWkUQHhIWChJFUlJPUl9DT0RFX01JTl9RVFkQHxIjCh9FUlJPUl9DT0RFX1BPU1RfT05MWV9MSU1JVF9PTkxZECASHgoaRVJST1JfQ09ERV9CQVRDSF9UT09fTEFSR0UQIRIlCiFFUlJPUl9DT0RFX1BPTElDWV9NQVhfT1BFTl9PUkRFUlMQIhIsCihFUlJPUl9DT0RFX01PRElGSUNBVElPTl9SRVFVSVJFU19SRVBMQUNFECMSLQopRVJST1JfQ09ERV9DT05GTElDVF9JREVNUE9URU5DWV9LRVlfUkVVU0UQJBInCiNFUlJPUl9DT0RFX01BUktFVF9QUklDRV9VTkFWQUlMQUJMRRAlEiIKHkVSUk9SX0NPREVfUEFJUl9OT1RfTElTVEVEX1lFVBAyEhwKGEVSUk9SX0NPREVfUEFJUl9ERUxJU1RFRBAzEh8KG0VSUk9SX0NPREVfUEFJUl9DQU5DRUxfT05MWRA0Eh0KGUVSUk9SX0NPREVfUEFJUl9QT1NUX09OTFkQNRIfChtFUlJPUl9DT0RFX1BBSVJfUkVEVUNFX09OTFkQNhIZChVFUlJPUl9DT0RFX1JJU0tfTElNSVQQNxIcChhFUlJPUl9DT0RFX01BUktFVF9IQUxURUQQOBIeChpFUlJPUl9DT0RFX0FDQ09VTlRfVU5LTk9XThA5Eh4KGkVSUk9SX0NPREVfUE9TVF9PTkxZX0NST1NTEDoSIgoeRVJST1JfQ09ERV9SRURVQ0VfT05MWV9CTE9DS0VEEDsSIwofRVJST1JfQ09ERV9QUklDRV9CQU5EX1ZJT0xBVElPThA8EiMKH0VSUk9SX0NPREVfTUFSS0VUX0NBUF9WSU9MQVRJT04QPRIZChVFUlJPUl9DT0RFX0VNUFRZX0JPT0sQPhIpCiVFUlJPUl9DT0RFX0ZPS19JTlNVRkZJQ0lFTlRfTElRVUlESVRZED8SJQohRVJST1JfQ09ERV9PUkRFUl9BTFJFQURZX1RFUk1JTkFMEEASJAogRVJST1JfQ09ERV9UUklHR0VSX1BSSUNFX0lOVkFMSUQQKBIvCitFUlJPUl9DT0RFX1RSSUdHRVJfUFJJQ0VfU09VUkNFX1VOU1VQUE9SVEVEECkSKAokRVJST1JfQ09ERV9UUkFJTElOR19ESVNUQU5DRV9JTlZBTElEECoSIAocRVJST1JfQ09ERV9UUklHR0VSX05PVF9GT1VORBArEiYKIkVSUk9SX0NPREVfVFJJR0dFUl9DQU5DRUxfUkVKRUNURUQQLBIlCiFFUlJPUl9DT0RFX1RSSUdHRVJfU1RBVFVTX0lOVkFMSUQQLRIlCiFFUlJPUl9DT0RFX1RSSUdHRVJfTk9UX01PRElGSUFCTEUQLhIzCi9FUlJPUl9DT0RFX0NPTkZMSUNUX0RVUExJQ0FURV9DTElFTlRfVFJJR0dFUl9JRBAvEiMKH0VSUk9SX0NPREVfTUFYX1NMSVBQQUdFX0lOVkFMSUQQMBIaChZFUlJPUl9DT0RFX1NUQUxFX1FVT1RFEEESHwobRVJST1JfQ09ERV9WQUxJREFUSU9OX0VSUk9SEEISGQoVRVJST1JfQ09ERV9PVkVSTE9BREVEEEMSKAokRVJST1JfQ09ERV9NQVhfUVVPVEVfREVCSVRfVE9PX1NNQUxMEEQSIgoeRVJST1JfQ09ERV9SQVRFX0xJTUlUX0VYQ0VFREVEEEUSKAokRVJST1JfQ09ERV9TVUJBQ0NPVU5UX1JFQURfRk9SQklEREVOEEYSJAogRVJST1JfQ09ERV9QT0xJQ1lfU1BPVF9SRUFEX0RFTlkQRxIlCiFFUlJPUl9DT0RFX0FQSV9LRVlfU1BPVF9SRUFEX0RFTlkQSBIlCiFFUlJPUl9DT0RFX0NBTkNFTF9SRVFVRVNUX0VYUElSRUQQSSprChJUcmlnZ2VyUHJpY2VTb3VyY2USJAogVFJJR0dFUl9QUklDRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIOCgpMQVNUX1BSSUNFEAESDwoLSU5ERVhfUFJJQ0UQAhIOCgpNQVJLX1BSSUNFEAMqSwoQVHJpZ2dlckRpcmVjdGlvbhIhCh1UUklHR0VSX0RJUkVDVElPTl9VTlNQRUNJRklFRBAAEgkKBUFCT1ZFEAESCQoFQkVMT1cQAippCg5Nb2RpZnlCZWhhdmlvchIfChtNT0RJRllfQkVIQVZJT1JfVU5TUEVDSUZJRUQQABIUChBBTUVORF9PUl9SRVBMQUNFEAESDgoKQU1FTkRfT05MWRACEhAKDFJFUExBQ0VfT05MWRADKk0KEU1vZGlmeUFjdGlvblRha2VuEh0KGU1PRElGWV9BQ1RJT05fVU5TUEVDSUZJRUQQABILCgdBTUVOREVEEAESDAoIUkVQTEFDRUQQAireAQobQmF0Y2hSZXBsYWNlQWRtaXNzaW9uU3RhdHVzEi4KKkJBVENIX1JFUExBQ0VfQURNSVNTSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEisKJ0JBVENIX1JFUExBQ0VfQURNSVNTSU9OX1NUQVRVU19BRE1JVFRFRBABEjUKMUJBVENIX1JFUExBQ0VfQURNSVNTSU9OX1NUQVRVU19QQVJUSUFMTFlfQURNSVRURUQQAhIrCidCQVRDSF9SRVBMQUNFX0FETUlTU0lPTl9TVEFUVVNfUkVKRUNURUQQAyq6AQofQmF0Y2hSZXBsYWNlSXRlbUFkbWlzc2lvblN0YXR1cxIzCi9CQVRDSF9SRVBMQUNFX0lURU1fQURNSVNTSU9OX1NUQVRVU19VTlNQRUNJRklFRBAAEjAKLEJBVENIX1JFUExBQ0VfSVRFTV9BRE1JU1NJT05fU1RBVFVTX0FETUlUVEVEEAESMAosQkFUQ0hfUkVQTEFDRV9JVEVNX0FETUlTU0lPTl9TVEFUVVNfUkVKRUNURUQQAjKwBgoNT3JkZXJzU2VydmljZRJRCgxQcmV2aWV3T3JkZXISHi5vcmRlcnMudjEuUHJldmlld09yZGVyUmVxdWVzdBofLm9yZGVycy52MS5QcmV2aWV3T3JkZXJSZXNwb25zZSIAEk4KC0NyZWF0ZU9yZGVyEh0ub3JkZXJzLnYxLkNyZWF0ZU9yZGVyUmVxdWVzdBoeLm9yZGVycy52MS5DcmVhdGVPcmRlclJlc3BvbnNlIgASTgoLQ2FuY2VsT3JkZXISHS5vcmRlcnMudjEuQ2FuY2VsT3JkZXJSZXF1ZXN0Gh4ub3JkZXJzLnYxLkNhbmNlbE9yZGVyUmVzcG9uc2UiABJaCg9DYW5jZWxBbGxPcmRlcnMSIS5vcmRlcnMudjEuQ2FuY2VsQWxsT3JkZXJzUmVxdWVzdBoiLm9yZGVycy52MS5DYW5jZWxBbGxPcmRlcnNSZXNwb25zZSIAElcKDkNhbmNlbEFsbEFmdGVyEiAub3JkZXJzLnYxLkNhbmNlbEFsbEFmdGVyUmVxdWVzdBohLm9yZGVycy52MS5DYW5jZWxBbGxBZnRlclJlc3BvbnNlIgASYAoRQmF0Y2hDcmVhdGVPcmRlcnMSIy5vcmRlcnMudjEuQmF0Y2hDcmVhdGVPcmRlcnNSZXF1ZXN0GiQub3JkZXJzLnYxLkJhdGNoQ3JlYXRlT3JkZXJzUmVzcG9uc2UiABJOCgtNb2RpZnlPcmRlchIdLm9yZGVycy52MS5Nb2RpZnlPcmRlclJlcXVlc3QaHi5vcmRlcnMudjEuTW9kaWZ5T3JkZXJSZXNwb25zZSIAEmMKEkJhdGNoUmVwbGFjZU9yZGVycxIkLm9yZGVycy52MS5CYXRjaFJlcGxhY2VPcmRlcnNSZXF1ZXN0GiUub3JkZXJzLnYxLkJhdGNoUmVwbGFjZU9yZGVyc1Jlc3BvbnNlIgASYAoRQmF0Y2hDYW5jZWxPcmRlcnMSIy5vcmRlcnMudjEuQmF0Y2hDYW5jZWxPcmRlcnNSZXF1ZXN0GiQub3JkZXJzLnYxLkJhdGNoQ2FuY2VsT3JkZXJzUmVzcG9uc2UiAEJAWj5naXRodWIuY29tL0ZhYnJpYy1MYWJzL3BvbHllc3Rlci1zZGstZ28vZ2VuL29yZGVycy92MTtvcmRlcnN2MWIGcHJvdG8z\", [file_google_protobuf_timestamp, file_polyester_ratelimit_v1_types]);\n\n/**\n * MarketIoc configures a market order. Market orders always execute as\n * immediate-or-cancel and therefore cannot rest or be post-only.\n *\n * @generated from message orders.v1.MarketIoc\n */\nexport type MarketIoc = Message<\"orders.v1.MarketIoc\"> & {\n /**\n * Optional max slippage override. If omitted, the pair default is used.\n *\n * @generated from oneof orders.v1.MarketIoc.max_slippage\n */\n maxSlippage: {\n /**\n * Maximum allowed slippage as a price delta in 1e-9 quote-unit ticks.\n *\n * @generated from field: int32 max_slippage_ticks = 1;\n */\n value: number;\n case: \"maxSlippageTicks\";\n } | {\n /**\n * Maximum allowed slippage in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 max_slippage_bps = 2;\n */\n value: number;\n case: \"maxSlippageBps\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional client reference price in quote units scaled by 1e9. When\n * omitted, admission uses server-side reference pricing.\n *\n * @generated from field: int64 client_ref_price_ticks = 3;\n */\n clientRefPriceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.MarketIoc.\n * Use `create(MarketIocSchema)` to create a new message.\n */\nexport const MarketIocSchema: GenMessage<MarketIoc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 0);\n\n/**\n * LimitGtc configures a good-til-canceled limit order.\n *\n * @generated from message orders.v1.LimitGtc\n */\nexport type LimitGtc = Message<\"orders.v1.LimitGtc\"> & {\n /**\n * Limit price in quote units scaled by 1e9.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n\n /**\n * Reject the order instead of taking liquidity. Post-only is available only\n * on this resting limit-order variant.\n *\n * @generated from field: bool post_only = 2;\n */\n postOnly: boolean;\n};\n\n/**\n * Describes the message orders.v1.LimitGtc.\n * Use `create(LimitGtcSchema)` to create a new message.\n */\nexport const LimitGtcSchema: GenMessage<LimitGtc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 1);\n\n/**\n * LimitGtd configures a limit order that may remain active only before an\n * exact expiry time.\n *\n * @generated from message orders.v1.LimitGtd\n */\nexport type LimitGtd = Message<\"orders.v1.LimitGtd\"> & {\n /**\n * Limit price in quote units scaled by 1e9.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n\n /**\n * Reject the order instead of taking liquidity.\n *\n * @generated from field: bool post_only = 2;\n */\n postOnly: boolean;\n\n /**\n * Exact expiry time in UTC. It must be at least 1 second and at most 30 days\n * after validation time. The order cannot execute when the current time equals\n * this value.\n *\n * @generated from field: google.protobuf.Timestamp expire_at = 3;\n */\n expireAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message orders.v1.LimitGtd.\n * Use `create(LimitGtdSchema)` to create a new message.\n */\nexport const LimitGtdSchema: GenMessage<LimitGtd> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 2);\n\n/**\n * LimitIoc configures an immediate-or-cancel limit order.\n *\n * @generated from message orders.v1.LimitIoc\n */\nexport type LimitIoc = Message<\"orders.v1.LimitIoc\"> & {\n /**\n * Limit price in quote units scaled by 1e9.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.LimitIoc.\n * Use `create(LimitIocSchema)` to create a new message.\n */\nexport const LimitIocSchema: GenMessage<LimitIoc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 3);\n\n/**\n * LimitFok configures a fill-or-kill limit order.\n *\n * @generated from message orders.v1.LimitFok\n */\nexport type LimitFok = Message<\"orders.v1.LimitFok\"> & {\n /**\n * Limit price in quote units scaled by 1e9.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.LimitFok.\n * Use `create(LimitFokSchema)` to create a new message.\n */\nexport const LimitFokSchema: GenMessage<LimitFok> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 4);\n\n/**\n * OrderIntent contains one order's complete, transport-independent placement\n * intent. Single and batch create use this same message.\n *\n * @generated from message orders.v1.OrderIntent\n */\nexport type OrderIntent = Message<\"orders.v1.OrderIntent\"> & {\n /**\n * Stable numeric pair ID from GetSpotConfig.\n *\n * @generated from field: uint32 symbol_id = 1;\n */\n symbolId: number;\n\n /**\n * Order side.\n *\n * @generated from field: orders.v1.Side side = 2;\n */\n side: Side;\n\n /**\n * Required order sizing intent. Exactly one sizing method must be supplied.\n *\n * @generated from oneof orders.v1.OrderIntent.sizing\n */\n sizing: {\n /**\n * Exact gross base quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig.\n *\n * @generated from field: int64 base_qty_scaled = 3;\n */\n value: bigint;\n case: \"baseQtyScaled\";\n } | {\n /**\n * Hard all-in quote debit limit scaled by the pair's quote_quantity_scale\n * from GetSpotConfig. Valid only for BUY market IOC and BUY limit IOC.\n *\n * @generated from field: int64 max_quote_debit_scaled = 4;\n */\n value: bigint;\n case: \"maxQuoteDebitScaled\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Required execution behavior. The selected variant exposes only fields that\n * can be honored together.\n *\n * @generated from oneof orders.v1.OrderIntent.execution\n */\n execution: {\n /**\n * Market order with implicit IOC behavior.\n *\n * @generated from field: orders.v1.MarketIoc market_ioc = 10;\n */\n value: MarketIoc;\n case: \"marketIoc\";\n } | {\n /**\n * Resting GTC limit order, optionally post-only.\n *\n * @generated from field: orders.v1.LimitGtc limit_gtc = 11;\n */\n value: LimitGtc;\n case: \"limitGtc\";\n } | {\n /**\n * Immediate-or-cancel limit order.\n *\n * @generated from field: orders.v1.LimitIoc limit_ioc = 12;\n */\n value: LimitIoc;\n case: \"limitIoc\";\n } | {\n /**\n * Fill-or-kill limit order.\n *\n * @generated from field: orders.v1.LimitFok limit_fok = 13;\n */\n value: LimitFok;\n case: \"limitFok\";\n } | {\n /**\n * Limit order with an exact expiry time.\n *\n * @generated from field: orders.v1.LimitGtd limit_gtd = 14;\n */\n value: LimitGtd;\n case: \"limitGtd\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional account-scoped identifier for correlation, lookup, and cancellation.\n * While this identifier is retained, reuse returns\n * CONFLICT_DUPLICATE_CLIENT_ORDER_ID for every new submission, even with the\n * same payload. This identifier enables GetOrder reconciliation after a\n * timeout; it does not provide exact replay.\n *\n * @generated from field: string client_order_id = 20;\n */\n clientOrderId: string;\n\n /**\n * Asset charged for fees. Defaults to QUOTE. BASE is available only for BUY\n * orders; SELL orders must use QUOTE.\n *\n * @generated from field: orders.v1.FeeAsset fee_asset = 21;\n */\n feeAsset: FeeAsset;\n\n /**\n * Self-trade prevention mode. Defaults to EXPIRE_MAKER if unspecified.\n *\n * @generated from field: orders.v1.SelfTradePreventionMode self_trade_prevention_mode = 22;\n */\n selfTradePreventionMode: SelfTradePreventionMode;\n\n /**\n * Optional attached risk controls that arm after the parent order fills.\n *\n * @generated from field: orders.v1.RiskPolicy attached_risk = 30;\n */\n attachedRisk?: RiskPolicy | undefined;\n};\n\n/**\n * Describes the message orders.v1.OrderIntent.\n * Use `create(OrderIntentSchema)` to create a new message.\n */\nexport const OrderIntentSchema: GenMessage<OrderIntent> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 5);\n\n/**\n * CreateOrderRequest submits one independent order intent for admission.\n * Single creates do not provide exact replay and are not automatically retried\n * after an ambiguous transport timeout. Supply client_order_id to reconcile\n * through GetOrder; without it, a lost acknowledgement may leave the outcome\n * unknown. An immediate lookup miss does not prove that admission failed.\n *\n * @generated from message orders.v1.CreateOrderRequest\n */\nexport type CreateOrderRequest = Message<\"orders.v1.CreateOrderRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Order to admit.\n *\n * @generated from field: orders.v1.OrderIntent order = 2;\n */\n order?: OrderIntent | undefined;\n};\n\n/**\n * Describes the message orders.v1.CreateOrderRequest.\n * Use `create(CreateOrderRequestSchema)` to create a new message.\n */\nexport const CreateOrderRequestSchema: GenMessage<CreateOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 6);\n\n/**\n * CreateOrderResponse acknowledges admission only. It does not report whether\n * the order is working, filled, canceled, or rejected after admission; use\n * order reads or realtime streams for execution state.\n *\n * @generated from message orders.v1.CreateOrderResponse\n */\nexport type CreateOrderResponse = Message<\"orders.v1.CreateOrderResponse\"> & {\n /**\n * Assigned order ID.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Echoed client order ID when one was supplied.\n *\n * @generated from field: string client_order_id = 2;\n */\n clientOrderId: string;\n\n /**\n * Time admission completed.\n *\n * @generated from field: google.protobuf.Timestamp accepted_at = 3;\n */\n acceptedAt?: Timestamp | undefined;\n\n /**\n * Admission completion time as epoch nanoseconds (UTC).\n *\n * @generated from field: uint64 accepted_at_ts_ns = 4;\n */\n acceptedAtTsNs: bigint;\n\n /**\n * Gross base quantity resolved for execution, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: int64 resolved_base_qty_scaled = 5;\n */\n resolvedBaseQtyScaled: bigint;\n\n /**\n * Submitted hard all-in quote debit limit, scaled by the pair's\n * quote_quantity_scale from GetSpotConfig. Present only when that sizing\n * method was submitted.\n *\n * @generated from field: optional int64 submitted_max_quote_debit_scaled = 6;\n */\n submittedMaxQuoteDebitScaled?: bigint | undefined;\n\n /**\n * Trigger ID for attached take-profit.\n *\n * @generated from field: optional uint64 take_profit_trigger_id = 20;\n */\n takeProfitTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached stop-loss.\n *\n * @generated from field: optional uint64 stop_loss_trigger_id = 21;\n */\n stopLossTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached trailing stop.\n *\n * @generated from field: optional uint64 trailing_stop_trigger_id = 22;\n */\n trailingStopTriggerId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.CreateOrderResponse.\n * Use `create(CreateOrderResponseSchema)` to create a new message.\n */\nexport const CreateOrderResponseSchema: GenMessage<CreateOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 7);\n\n/**\n * PreviewOrderRequest asks whether one complete order intent is currently\n * admissible. It uses the same order contract as CreateOrderRequest. Previewing\n * creates no order, hold, reservation, or client-order-ID claim.\n *\n * @generated from message orders.v1.PreviewOrderRequest\n */\nexport type PreviewOrderRequest = Message<\"orders.v1.PreviewOrderRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Order intent to evaluate without submitting it.\n *\n * @generated from field: orders.v1.OrderIntent order = 2;\n */\n order?: OrderIntent | undefined;\n};\n\n/**\n * Describes the message orders.v1.PreviewOrderRequest.\n * Use `create(PreviewOrderRequestSchema)` to create a new message.\n */\nexport const PreviewOrderRequestSchema: GenMessage<PreviewOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 8);\n\n/**\n * PreviewOrderResponse reports whether an order is currently admissible and\n * returns any sizing and price-protection values resolved during evaluation.\n * The result is advisory: account, market, and policy inputs may change, and\n * CreateOrder always evaluates the intent again.\n *\n * @generated from message orders.v1.PreviewOrderResponse\n */\nexport type PreviewOrderResponse = Message<\"orders.v1.PreviewOrderResponse\"> & {\n /**\n * Whether the order passed the current validation, policy, risk, and\n * available-balance checks.\n *\n * @generated from field: optional bool admissible = 1;\n */\n admissible?: boolean | undefined;\n\n /**\n * Typed reason the order is not currently admissible. Omitted when\n * admissible is true.\n *\n * @generated from field: orders.v1.ErrorDetail rejection = 2;\n */\n rejection?: ErrorDetail | undefined;\n\n /**\n * Gross base quantity resolved for execution, scaled by the pair's\n * base_quantity_scale from GetSpotConfig. Present when sizing was resolved.\n *\n * @generated from field: optional int64 resolved_base_qty_scaled = 3;\n */\n resolvedBaseQtyScaled?: bigint | undefined;\n\n /**\n * Protective execution boundary in quote units scaled by 1e9. This is not an\n * expected fill price. Present when price protection was resolved.\n *\n * @generated from field: optional int64 protected_price_bound_ticks = 4;\n */\n protectedPriceBoundTicks?: bigint | undefined;\n\n /**\n * Time at which this admission evaluation completed.\n *\n * @generated from field: google.protobuf.Timestamp evaluated_at = 5;\n */\n evaluatedAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message orders.v1.PreviewOrderResponse.\n * Use `create(PreviewOrderResponseSchema)` to create a new message.\n */\nexport const PreviewOrderResponseSchema: GenMessage<PreviewOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 9);\n\n/**\n * CancelOrderRequest is the binary (protobuf) request for canceling orders.\n *\n * @generated from message orders.v1.CancelOrderRequest\n */\nexport type CancelOrderRequest = Message<\"orders.v1.CancelOrderRequest\"> & {\n /**\n * @generated from oneof orders.v1.CancelOrderRequest.key\n */\n key: {\n /**\n * Order ID as fixed64.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID.\n *\n * @generated from field: string client_order_id = 2;\n */\n value: string;\n case: \"clientOrderId\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional symbol_id for routing; when omitted, resolved from order directory.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 4;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.CancelOrderRequest.\n * Use `create(CancelOrderRequestSchema)` to create a new message.\n */\nexport const CancelOrderRequestSchema: GenMessage<CancelOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 10);\n\n/**\n * CancelOrderResponse is the binary (protobuf) response after canceling an order.\n *\n * @generated from message orders.v1.CancelOrderResponse\n */\nexport type CancelOrderResponse = Message<\"orders.v1.CancelOrderResponse\"> & {\n /**\n * Cancellation submission outcome.\n *\n * @generated from field: orders.v1.CancelOrderResponse.Status status = 1;\n */\n status: CancelOrderResponse_Status;\n\n /**\n * Order ID as fixed64.\n *\n * @generated from field: fixed64 order_id = 2;\n */\n orderId: bigint;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 3;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 4;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.CancelOrderResponse.\n * Use `create(CancelOrderResponseSchema)` to create a new message.\n */\nexport const CancelOrderResponseSchema: GenMessage<CancelOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 11);\n\n/**\n * Cancellation submission outcome.\n *\n * @generated from enum orders.v1.CancelOrderResponse.Status\n */\nexport enum CancelOrderResponse_Status {\n /**\n * Cancellation status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * The cancellation request was accepted for processing.\n *\n * @generated from enum value: ACCEPTED = 1;\n */\n ACCEPTED = 1,\n}\n\n/**\n * Describes the enum orders.v1.CancelOrderResponse.Status.\n */\nexport const CancelOrderResponse_StatusSchema: GenEnum<CancelOrderResponse_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 11, 0);\n\n/**\n * FieldViolation describes one actionable request validation failure.\n *\n * @generated from message orders.v1.FieldViolation\n */\nexport type FieldViolation = Message<\"orders.v1.FieldViolation\"> & {\n /**\n * Protobuf field path relative to the request, using canonical field names.\n *\n * @generated from field: string field_path = 1;\n */\n fieldPath: string;\n\n /**\n * Stable validation rule identifier suitable for programmatic matching.\n *\n * @generated from field: string rule_id = 2;\n */\n ruleId: string;\n\n /**\n * Human-readable explanation of the violation.\n *\n * @generated from field: string message = 3;\n */\n message: string;\n};\n\n/**\n * Describes the message orders.v1.FieldViolation.\n * Use `create(FieldViolationSchema)` to create a new message.\n */\nexport const FieldViolationSchema: GenMessage<FieldViolation> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 12);\n\n/**\n * ErrorDetail is attached to ConnectRPC errors for structured error handling.\n * Clients can inspect this to get a stable machine-readable error code.\n *\n * @generated from message orders.v1.ErrorDetail\n */\nexport type ErrorDetail = Message<\"orders.v1.ErrorDetail\"> & {\n /**\n * Stable error code matching the REST problem+json \"code\" field.\n *\n * @generated from field: orders.v1.ErrorCode code = 1;\n */\n code: ErrorCode;\n\n /**\n * Field-level validation failures. Empty for non-validation domain errors.\n *\n * @generated from field: repeated orders.v1.FieldViolation violations = 2;\n */\n violations: FieldViolation[];\n\n /**\n * Structured quota state. Present only for rate-limit rejections.\n *\n * @generated from field: polyester.ratelimit.v1.RateLimitDetail rate_limit = 3;\n */\n rateLimit?: RateLimitDetail | undefined;\n};\n\n/**\n * Describes the message orders.v1.ErrorDetail.\n * Use `create(ErrorDetailSchema)` to create a new message.\n */\nexport const ErrorDetailSchema: GenMessage<ErrorDetail> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 13);\n\n/**\n * RiskMarketIoc configures an attached risk leg that submits a market child\n * with implicit immediate-or-cancel behavior.\n *\n * @generated from message orders.v1.RiskMarketIoc\n */\nexport type RiskMarketIoc = Message<\"orders.v1.RiskMarketIoc\"> & {\n};\n\n/**\n * Describes the message orders.v1.RiskMarketIoc.\n * Use `create(RiskMarketIocSchema)` to create a new message.\n */\nexport const RiskMarketIocSchema: GenMessage<RiskMarketIoc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 14);\n\n/**\n * RiskLimitGtc configures an attached risk leg that submits a resting limit\n * child. Attached risk legs do not support post-only.\n *\n * @generated from message orders.v1.RiskLimitGtc\n */\nexport type RiskLimitGtc = Message<\"orders.v1.RiskLimitGtc\"> & {\n /**\n * Limit price in quote units scaled by 1e9.\n *\n * @generated from field: int64 price_ticks = 1;\n */\n priceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.RiskLimitGtc.\n * Use `create(RiskLimitGtcSchema)` to create a new message.\n */\nexport const RiskLimitGtcSchema: GenMessage<RiskLimitGtc> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 15);\n\n/**\n * RiskExecution selects the child execution supported by attached take-profit\n * and stop-loss policies.\n *\n * @generated from message orders.v1.RiskExecution\n */\nexport type RiskExecution = Message<\"orders.v1.RiskExecution\"> & {\n /**\n * @generated from oneof orders.v1.RiskExecution.execution\n */\n execution: {\n /**\n * Market child with implicit IOC behavior.\n *\n * @generated from field: orders.v1.RiskMarketIoc market_ioc = 1;\n */\n value: RiskMarketIoc;\n case: \"marketIoc\";\n } | {\n /**\n * Resting GTC limit child.\n *\n * @generated from field: orders.v1.RiskLimitGtc limit_gtc = 2;\n */\n value: RiskLimitGtc;\n case: \"limitGtc\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message orders.v1.RiskExecution.\n * Use `create(RiskExecutionSchema)` to create a new message.\n */\nexport const RiskExecutionSchema: GenMessage<RiskExecution> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 16);\n\n/**\n * TakeProfitPolicy defines a take-profit attached to an order. It evaluates\n * last trade price, arms after the parent fills, and submits the selected child.\n *\n * @generated from message orders.v1.TakeProfitPolicy\n */\nexport type TakeProfitPolicy = Message<\"orders.v1.TakeProfitPolicy\"> & {\n /**\n * Trigger price in quote units scaled by 1e9.\n *\n * @generated from field: int64 trigger_price_ticks = 1;\n */\n triggerPriceTicks: bigint;\n\n /**\n * Child execution when the threshold is crossed.\n *\n * @generated from field: orders.v1.RiskExecution child = 2;\n */\n child?: RiskExecution | undefined;\n};\n\n/**\n * Describes the message orders.v1.TakeProfitPolicy.\n * Use `create(TakeProfitPolicySchema)` to create a new message.\n */\nexport const TakeProfitPolicySchema: GenMessage<TakeProfitPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 17);\n\n/**\n * StopLossPolicy defines a stop-loss attached to an order. It evaluates last\n * trade price, arms after the parent fills, and submits the selected child.\n *\n * @generated from message orders.v1.StopLossPolicy\n */\nexport type StopLossPolicy = Message<\"orders.v1.StopLossPolicy\"> & {\n /**\n * Trigger price in quote units scaled by 1e9.\n *\n * @generated from field: int64 trigger_price_ticks = 1;\n */\n triggerPriceTicks: bigint;\n\n /**\n * Child execution when the threshold is crossed.\n *\n * @generated from field: orders.v1.RiskExecution child = 2;\n */\n child?: RiskExecution | undefined;\n};\n\n/**\n * Describes the message orders.v1.StopLossPolicy.\n * Use `create(StopLossPolicySchema)` to create a new message.\n */\nexport const StopLossPolicySchema: GenMessage<StopLossPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 18);\n\n/**\n * TrailingStopPolicy defines a trailing stop attached to an order.\n * Tracks peak (for sell) or trough (for buy) and fires when price reverses by\n * the distance.\n *\n * @generated from message orders.v1.TrailingStopPolicy\n */\nexport type TrailingStopPolicy = Message<\"orders.v1.TrailingStopPolicy\"> & {\n /**\n * Trailing distance. Exactly one of these should be set.\n *\n * @generated from oneof orders.v1.TrailingStopPolicy.trailing_distance\n */\n trailingDistance: {\n /**\n * Trailing distance as a price delta in 1e-9 quote-unit ticks.\n *\n * @generated from field: int64 trailing_distance_ticks = 1;\n */\n value: bigint;\n case: \"trailingDistanceTicks\";\n } | {\n /**\n * Trailing distance in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 trailing_distance_bps = 2;\n */\n value: number;\n case: \"trailingDistanceBps\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional price protection. If set, when the trailing stop triggers we place\n * an IOC LIMIT order at stop_price ± max_slippage (instead of an unprotected\n * MARKET order).\n *\n * Exactly one of these should be set (or neither for unprotected behavior).\n *\n * @generated from oneof orders.v1.TrailingStopPolicy.max_slippage\n */\n maxSlippage: {\n /**\n * Maximum allowed slippage as a price delta in 1e-9 quote-unit ticks.\n *\n * @generated from field: int32 max_slippage_ticks = 6;\n */\n value: number;\n case: \"maxSlippageTicks\";\n } | {\n /**\n * Maximum allowed slippage in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 max_slippage_bps = 7;\n */\n value: number;\n case: \"maxSlippageBps\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Optional activation price: trailing only starts after this price is\n * reached. If omitted, trailing starts immediately after the parent order\n * fills. Expressed in quote units scaled by 1e9.\n *\n * @generated from field: int64 activation_price_ticks = 3;\n */\n activationPriceTicks: bigint;\n};\n\n/**\n * Describes the message orders.v1.TrailingStopPolicy.\n * Use `create(TrailingStopPolicySchema)` to create a new message.\n */\nexport const TrailingStopPolicySchema: GenMessage<TrailingStopPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 19);\n\n/**\n * RiskPolicy defines optional risk controls (TP/SL/TrailingStop) attached to an\n * order. These arm after the parent order fills and fire when conditions are\n * met. If the parent order is canceled before any fill, attached risk controls\n * are discarded.\n *\n * @generated from message orders.v1.RiskPolicy\n */\nexport type RiskPolicy = Message<\"orders.v1.RiskPolicy\"> & {\n /**\n * Optional take-profit configuration.\n *\n * @generated from field: orders.v1.TakeProfitPolicy take_profit = 1;\n */\n takeProfit?: TakeProfitPolicy | undefined;\n\n /**\n * At most one stop leg can be configured for attached risk.\n *\n * @generated from oneof orders.v1.RiskPolicy.stop_leg\n */\n stopLeg: {\n /**\n * Optional stop-loss configuration.\n *\n * @generated from field: orders.v1.StopLossPolicy stop_loss = 2;\n */\n value: StopLossPolicy;\n case: \"stopLoss\";\n } | {\n /**\n * Optional trailing stop configuration.\n *\n * @generated from field: orders.v1.TrailingStopPolicy trailing_stop = 3;\n */\n value: TrailingStopPolicy;\n case: \"trailingStop\";\n } | { case: undefined; value?: undefined };\n\n /**\n * If true, take-profit and the configured stop leg (stop-loss or trailing-stop)\n * form an OCO pair: when one fires, the other is canceled.\n * Default is false (no mutual cancellation).\n *\n * @generated from field: bool oco = 4;\n */\n oco: boolean;\n};\n\n/**\n * Describes the message orders.v1.RiskPolicy.\n * Use `create(RiskPolicySchema)` to create a new message.\n */\nexport const RiskPolicySchema: GenMessage<RiskPolicy> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 20);\n\n/**\n * CancelAllOrdersRequest cancels all matching open orders for an account.\n *\n * @generated from message orders.v1.CancelAllOrdersRequest\n */\nexport type CancelAllOrdersRequest = Message<\"orders.v1.CancelAllOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Optional trading-pair IDs from GetSpotConfig. Empty matches all symbols.\n * At most 100 positive IDs; duplicates are ignored and ordering is immaterial.\n *\n * @generated from field: repeated uint32 symbol_ids = 2;\n */\n symbolIds: number[];\n\n /**\n * Side filter. When set, only orders on this side are canceled.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * If true, return matched counts without actually canceling.\n *\n * @generated from field: bool dry_run = 4;\n */\n dryRun: boolean;\n\n /**\n * Idempotency key (required). Reuse the same key and criteria for retries.\n * Completed results are retained for at least two minutes. Use a fresh key\n * for a new cancellation; do not reuse a key after its replay window.\n *\n * @generated from field: string request_id = 6;\n */\n requestId: string;\n};\n\n/**\n * Describes the message orders.v1.CancelAllOrdersRequest.\n * Use `create(CancelAllOrdersRequestSchema)` to create a new message.\n */\nexport const CancelAllOrdersRequestSchema: GenMessage<CancelAllOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 21);\n\n/**\n * CancelAllOrdersResponse returns the result of a cancel-all operation.\n *\n * @generated from message orders.v1.CancelAllOrdersResponse\n */\nexport type CancelAllOrdersResponse = Message<\"orders.v1.CancelAllOrdersResponse\"> & {\n /**\n * Cancel-all submission outcome.\n *\n * @generated from field: orders.v1.CancelAllOrdersResponse.Status status = 1;\n */\n status: CancelAllOrdersResponse_Status;\n\n /**\n * Number of orders that matched the filter.\n *\n * @generated from field: uint32 matched_orders = 2;\n */\n matchedOrders: number;\n\n /**\n * Number of cancel requests submitted for processing.\n *\n * @generated from field: uint32 submitted_cancels = 3;\n */\n submittedCancels: number;\n\n /**\n * Number of cancels that could not be submitted (already canceled, etc.).\n *\n * @generated from field: uint32 failed_cancels = 4;\n */\n failedCancels: number;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 5;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 6;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.CancelAllOrdersResponse.\n * Use `create(CancelAllOrdersResponseSchema)` to create a new message.\n */\nexport const CancelAllOrdersResponseSchema: GenMessage<CancelAllOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 22);\n\n/**\n * Cancel-all submission outcome.\n *\n * @generated from enum orders.v1.CancelAllOrdersResponse.Status\n */\nexport enum CancelAllOrdersResponse_Status {\n /**\n * Cancel-all status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * Matching cancellation requests were submitted for processing.\n *\n * @generated from enum value: SUBMITTED = 1;\n */\n SUBMITTED = 1,\n\n /**\n * The request only counted matching orders and submitted no cancellations.\n *\n * @generated from enum value: DRY_RUN = 2;\n */\n DRY_RUN = 2,\n}\n\n/**\n * Describes the enum orders.v1.CancelAllOrdersResponse.Status.\n */\nexport const CancelAllOrdersResponse_StatusSchema: GenEnum<CancelAllOrdersResponse_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 22, 0);\n\n/**\n * CancelAllAfterRequest arms/disables a dead-man switch for automatic cancel-all.\n *\n * @generated from message orders.v1.CancelAllAfterRequest\n */\nexport type CancelAllAfterRequest = Message<\"orders.v1.CancelAllAfterRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Heartbeat timeout in seconds.\n * - 0 disables the dead-man switch for this account.\n * - 10..120 arms or refreshes the switch.\n *\n * @generated from field: uint32 timeout_sec = 2;\n */\n timeoutSec: number;\n\n /**\n * Optional symbol ID filter. When set, only orders on this symbol are\n * canceled on expiry. When zero, all symbols are canceled.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n\n /**\n * Optional side filter for cancel-on-expiry.\n *\n * @generated from field: orders.v1.Side side = 4;\n */\n side: Side;\n\n /**\n * Idempotency/trace key from caller (required).\n *\n * @generated from field: string request_id = 5;\n */\n requestId: string;\n};\n\n/**\n * Describes the message orders.v1.CancelAllAfterRequest.\n * Use `create(CancelAllAfterRequestSchema)` to create a new message.\n */\nexport const CancelAllAfterRequestSchema: GenMessage<CancelAllAfterRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 23);\n\n/**\n * CancelAllAfterResponse returns dead-man switch arming/disable status.\n *\n * @generated from message orders.v1.CancelAllAfterResponse\n */\nexport type CancelAllAfterResponse = Message<\"orders.v1.CancelAllAfterResponse\"> & {\n /**\n * Dead-man switch state after applying the request.\n *\n * @generated from field: orders.v1.CancelAllAfterResponse.Status status = 1;\n */\n status: CancelAllAfterResponse_Status;\n\n /**\n * Effective timeout in seconds (0 when disabled).\n *\n * @generated from field: uint32 effective_timeout_sec = 2;\n */\n effectiveTimeoutSec: number;\n\n /**\n * Expiry timestamp in epoch nanoseconds (0 when disabled).\n *\n * @generated from field: uint64 expires_at_ts_ns = 3;\n */\n expiresAtTsNs: bigint;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 4;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 5;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.CancelAllAfterResponse.\n * Use `create(CancelAllAfterResponseSchema)` to create a new message.\n */\nexport const CancelAllAfterResponseSchema: GenMessage<CancelAllAfterResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 24);\n\n/**\n * Dead-man switch state after applying the request.\n *\n * @generated from enum orders.v1.CancelAllAfterResponse.Status\n */\nexport enum CancelAllAfterResponse_Status {\n /**\n * Dead-man switch status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * The dead-man switch is armed or refreshed.\n *\n * @generated from enum value: ARMED = 1;\n */\n ARMED = 1,\n\n /**\n * The dead-man switch is disabled.\n *\n * @generated from enum value: DISABLED = 2;\n */\n DISABLED = 2,\n}\n\n/**\n * Describes the enum orders.v1.CancelAllAfterResponse.Status.\n */\nexport const CancelAllAfterResponse_StatusSchema: GenEnum<CancelAllAfterResponse_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 24, 0);\n\n/**\n * BatchCreateAccepted contains the assigned identifiers for an admitted item.\n *\n * @generated from message orders.v1.BatchCreateAccepted\n */\nexport type BatchCreateAccepted = Message<\"orders.v1.BatchCreateAccepted\"> & {\n /**\n * Assigned order ID.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Trigger ID for attached take-profit (when accepted and configured).\n *\n * @generated from field: optional uint64 take_profit_trigger_id = 2;\n */\n takeProfitTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached stop-loss (when accepted and configured).\n *\n * @generated from field: optional uint64 stop_loss_trigger_id = 3;\n */\n stopLossTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached trailing stop (when accepted and configured).\n *\n * @generated from field: optional uint64 trailing_stop_trigger_id = 4;\n */\n trailingStopTriggerId?: bigint | undefined;\n\n /**\n * Gross base quantity resolved for execution, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: int64 resolved_base_qty_scaled = 5;\n */\n resolvedBaseQtyScaled: bigint;\n\n /**\n * Submitted hard all-in quote debit limit, scaled by the pair's\n * quote_quantity_scale from GetSpotConfig. Present only when submitted.\n *\n * @generated from field: optional int64 submitted_max_quote_debit_scaled = 6;\n */\n submittedMaxQuoteDebitScaled?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.BatchCreateAccepted.\n * Use `create(BatchCreateAcceptedSchema)` to create a new message.\n */\nexport const BatchCreateAcceptedSchema: GenMessage<BatchCreateAccepted> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 25);\n\n/**\n * BatchCreateRejected contains the typed reason an item was not admitted.\n *\n * @generated from message orders.v1.BatchCreateRejected\n */\nexport type BatchCreateRejected = Message<\"orders.v1.BatchCreateRejected\"> & {\n /**\n * Structured rejection detail.\n *\n * @generated from field: orders.v1.ErrorDetail error = 1;\n */\n error?: ErrorDetail | undefined;\n};\n\n/**\n * Describes the message orders.v1.BatchCreateRejected.\n * Use `create(BatchCreateRejectedSchema)` to create a new message.\n */\nexport const BatchCreateRejectedSchema: GenMessage<BatchCreateRejected> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 26);\n\n/**\n * BatchCreateResultItem contains exactly one per-item batch outcome.\n *\n * @generated from message orders.v1.BatchCreateResultItem\n */\nexport type BatchCreateResultItem = Message<\"orders.v1.BatchCreateResultItem\"> & {\n /**\n * Echoed client order ID.\n *\n * @generated from field: string client_order_id = 1;\n */\n clientOrderId: string;\n\n /**\n * Accepted or rejected outcome.\n *\n * @generated from oneof orders.v1.BatchCreateResultItem.outcome\n */\n outcome: {\n /**\n * Item was admitted.\n *\n * @generated from field: orders.v1.BatchCreateAccepted accepted = 2;\n */\n value: BatchCreateAccepted;\n case: \"accepted\";\n } | {\n /**\n * Item was rejected before admission.\n *\n * @generated from field: orders.v1.BatchCreateRejected rejected = 3;\n */\n value: BatchCreateRejected;\n case: \"rejected\";\n } | { case: undefined; value?: undefined };\n};\n\n/**\n * Describes the message orders.v1.BatchCreateResultItem.\n * Use `create(BatchCreateResultItemSchema)` to create a new message.\n */\nexport const BatchCreateResultItemSchema: GenMessage<BatchCreateResultItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 27);\n\n/**\n * BatchCreateOrdersRequest places multiple orders in one request.\n *\n * @generated from message orders.v1.BatchCreateOrdersRequest\n */\nexport type BatchCreateOrdersRequest = Message<\"orders.v1.BatchCreateOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Required account-scoped idempotency key for the entire ordered batch.\n * Reusing it with the same payload within 15 minutes replays the original\n * per-item results and timestamp. Reusing it with a different payload during\n * that window returns CONFLICT_IDEMPOTENCY_KEY_REUSE.\n *\n * @generated from field: string request_id = 2;\n */\n requestId: string;\n\n /**\n * Orders to create (max 20). client_order_id is optional per item. For a new\n * request_id, a reused client_order_id rejects only that item with\n * CONFLICT_DUPLICATE_CLIENT_ORDER_ID; other valid items continue.\n *\n * @generated from field: repeated orders.v1.OrderIntent items = 3;\n */\n items: OrderIntent[];\n};\n\n/**\n * Describes the message orders.v1.BatchCreateOrdersRequest.\n * Use `create(BatchCreateOrdersRequestSchema)` to create a new message.\n */\nexport const BatchCreateOrdersRequestSchema: GenMessage<BatchCreateOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 28);\n\n/**\n * BatchCreateOrdersResponse returns per-item results for a batch create.\n *\n * @generated from message orders.v1.BatchCreateOrdersResponse\n */\nexport type BatchCreateOrdersResponse = Message<\"orders.v1.BatchCreateOrdersResponse\"> & {\n /**\n * Per-item results in same order as request.\n *\n * @generated from field: repeated orders.v1.BatchCreateResultItem results = 1;\n */\n results: BatchCreateResultItem[];\n\n /**\n * Number of requested orders that were accepted.\n *\n * @generated from field: uint32 accepted_count = 2;\n */\n acceptedCount: number;\n\n /**\n * Number of requested orders that were rejected.\n *\n * @generated from field: uint32 rejected_count = 3;\n */\n rejectedCount: number;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 4;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 5;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchCreateOrdersResponse.\n * Use `create(BatchCreateOrdersResponseSchema)` to create a new message.\n */\nexport const BatchCreateOrdersResponseSchema: GenMessage<BatchCreateOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 29);\n\n/**\n * ModifyOrderRequest updates an existing order using policy-driven amend/replace behavior.\n *\n * @generated from message orders.v1.ModifyOrderRequest\n */\nexport type ModifyOrderRequest = Message<\"orders.v1.ModifyOrderRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Target key.\n *\n * @generated from oneof orders.v1.ModifyOrderRequest.key\n */\n key: {\n /**\n * Order ID as fixed64.\n *\n * @generated from field: fixed64 order_id = 2;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID to resolve within the caller account.\n *\n * @generated from field: string client_order_id = 3;\n */\n value: string;\n case: \"clientOrderId\";\n } | { case: undefined; value?: undefined };\n\n /**\n * Idempotency key (required).\n *\n * @generated from field: string request_id = 4;\n */\n requestId: string;\n\n /**\n * Patch fields (presence-based).\n * New limit price in quote units scaled by 1e9. Required for price changes.\n *\n * @generated from field: optional int64 new_price_ticks = 5;\n */\n newPriceTicks?: bigint | undefined;\n\n /**\n * Target total quantity after modify/replace, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: optional int64 new_qty_scaled = 6;\n */\n newQtyScaled?: bigint | undefined;\n\n /**\n * Replacement attached-risk policy for the order.\n *\n * @generated from field: orders.v1.RiskPolicy new_attached_risk = 7;\n */\n newAttachedRisk?: RiskPolicy | undefined;\n\n /**\n * Modify behavior policy.\n * MODIFY_BEHAVIOR_UNSPECIFIED is treated as AMEND_OR_REPLACE.\n *\n * @generated from field: orders.v1.ModifyBehavior behavior = 8;\n */\n behavior: ModifyBehavior;\n\n /**\n * Optional new client order id when replace path is taken.\n *\n * @generated from field: string new_client_order_id = 9;\n */\n newClientOrderId: string;\n\n /**\n * Trading symbol numeric identifier. Required for API-key market policy and\n * must match the target order.\n *\n * @generated from field: uint32 symbol_id = 10;\n */\n symbolId: number;\n};\n\n/**\n * Describes the message orders.v1.ModifyOrderRequest.\n * Use `create(ModifyOrderRequestSchema)` to create a new message.\n */\nexport const ModifyOrderRequestSchema: GenMessage<ModifyOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 30);\n\n/**\n * ModifyOrderResponse returns deterministic modify outcome.\n *\n * @generated from message orders.v1.ModifyOrderResponse\n */\nexport type ModifyOrderResponse = Message<\"orders.v1.ModifyOrderResponse\"> & {\n /**\n * Action applied; unspecified when rejected.\n *\n * @generated from field: orders.v1.ModifyActionTaken action_taken = 1;\n */\n actionTaken: ModifyActionTaken;\n\n /**\n * Original order ID that was amended or replaced.\n *\n * @generated from field: fixed64 old_order_id = 2;\n */\n oldOrderId: bigint;\n\n /**\n * Final active order ID; same as old_order_id for amendments.\n *\n * @generated from field: fixed64 final_order_id = 3;\n */\n finalOrderId: bigint;\n\n /**\n * Error code if rejected.\n *\n * @generated from field: string code = 4;\n */\n code: string;\n\n /**\n * Trigger ID for attached take-profit after modification, when configured.\n *\n * @generated from field: optional uint64 take_profit_trigger_id = 5;\n */\n takeProfitTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached stop-loss after modification, when configured.\n *\n * @generated from field: optional uint64 stop_loss_trigger_id = 6;\n */\n stopLossTriggerId?: bigint | undefined;\n\n /**\n * Trigger ID for attached trailing stop after modification, when configured.\n *\n * @generated from field: optional uint64 trailing_stop_trigger_id = 7;\n */\n trailingStopTriggerId?: bigint | undefined;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 8;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 9;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.ModifyOrderResponse.\n * Use `create(ModifyOrderResponseSchema)` to create a new message.\n */\nexport const ModifyOrderResponseSchema: GenMessage<ModifyOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 31);\n\n/**\n * BatchReplaceOrderItem identifies one replacement inside a quote-refresh batch.\n *\n * @generated from message orders.v1.BatchReplaceOrderItem\n */\nexport type BatchReplaceOrderItem = Message<\"orders.v1.BatchReplaceOrderItem\"> & {\n /**\n * @generated from oneof orders.v1.BatchReplaceOrderItem.key\n */\n key: {\n /**\n * Order ID as fixed64. Exactly one of order_id or client_order_id.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID. Exactly one of order_id or client_order_id.\n *\n * @generated from field: string client_order_id = 2;\n */\n value: string;\n case: \"clientOrderId\";\n } | { case: undefined; value?: undefined };\n\n /**\n * New limit price in quote units scaled by 1e9.\n *\n * @generated from field: optional int64 new_price_ticks = 3;\n */\n newPriceTicks?: bigint | undefined;\n\n /**\n * Target total quantity after modify/replace, scaled by the pair's\n * base_quantity_scale from GetSpotConfig.\n *\n * @generated from field: optional int64 new_qty_scaled = 4;\n */\n newQtyScaled?: bigint | undefined;\n\n /**\n * Replacement attached-risk policy for the order.\n *\n * @generated from field: orders.v1.RiskPolicy new_attached_risk = 5;\n */\n newAttachedRisk?: RiskPolicy | undefined;\n\n /**\n * Optional new client order id when replace path is taken.\n *\n * @generated from field: string new_client_order_id = 6;\n */\n newClientOrderId: string;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceOrderItem.\n * Use `create(BatchReplaceOrderItemSchema)` to create a new message.\n */\nexport const BatchReplaceOrderItemSchema: GenMessage<BatchReplaceOrderItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 32);\n\n/**\n * BatchReplaceAdmissionItem contains the index-stable admission result for one item.\n *\n * @generated from message orders.v1.BatchReplaceAdmissionItem\n */\nexport type BatchReplaceAdmissionItem = Message<\"orders.v1.BatchReplaceAdmissionItem\"> & {\n /**\n * Zero-based index in the request.\n *\n * @generated from field: uint32 item_index = 1;\n */\n itemIndex: number;\n\n /**\n * Admission result for this item.\n *\n * @generated from field: orders.v1.BatchReplaceItemAdmissionStatus status = 2;\n */\n status: BatchReplaceItemAdmissionStatus;\n\n /**\n * Original order targeted by the replacement.\n *\n * @generated from field: fixed64 old_order_id = 3;\n */\n oldOrderId: bigint;\n\n /**\n * Assigned successor order ID. Zero for cancel-only outcomes or rejection before assignment.\n *\n * @generated from field: fixed64 replacement_order_id = 4;\n */\n replacementOrderId: bigint;\n\n /**\n * Client order ID assigned to the successor when available.\n *\n * @generated from field: string client_order_id = 5;\n */\n clientOrderId: string;\n\n /**\n * Stable rejection code. Empty for admitted items.\n *\n * @generated from field: string code = 6;\n */\n code: string;\n\n /**\n * Structured rejection details. Present for rate-limit guidance and other typed failures.\n *\n * @generated from field: orders.v1.ErrorDetail error = 7;\n */\n error?: ErrorDetail | undefined;\n\n /**\n * REPLACED admits a successor. AMENDED cancels the original order's remaining quantity\n * without a successor; keep tracking old_order_id until its terminal state is confirmed.\n * Unspecified for rejected items.\n *\n * @generated from field: orders.v1.ModifyActionTaken action_taken = 8;\n */\n actionTaken: ModifyActionTaken;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceAdmissionItem.\n * Use `create(BatchReplaceAdmissionItemSchema)` to create a new message.\n */\nexport const BatchReplaceAdmissionItemSchema: GenMessage<BatchReplaceAdmissionItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 33);\n\n/**\n * BatchReplaceOrdersRequest replaces same-symbol orders as one quote refresh.\n *\n * @generated from message orders.v1.BatchReplaceOrdersRequest\n */\nexport type BatchReplaceOrdersRequest = Message<\"orders.v1.BatchReplaceOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Trading symbol shared by every replacement.\n *\n * @generated from field: uint32 symbol_id = 2;\n */\n symbolId: number;\n\n /**\n * Client idempotency key (required).\n *\n * @generated from field: string request_id = 3;\n */\n requestId: string;\n\n /**\n * Replacement items.\n *\n * @generated from field: repeated orders.v1.BatchReplaceOrderItem items = 4;\n */\n items: BatchReplaceOrderItem[];\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceOrdersRequest.\n * Use `create(BatchReplaceOrdersRequestSchema)` to create a new message.\n */\nexport const BatchReplaceOrdersRequestSchema: GenMessage<BatchReplaceOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 34);\n\n/**\n * BatchReplaceOrdersResponse is the durable admission receipt for a batch.\n *\n * @generated from message orders.v1.BatchReplaceOrdersResponse\n */\nexport type BatchReplaceOrdersResponse = Message<\"orders.v1.BatchReplaceOrdersResponse\"> & {\n /**\n * Server-issued opaque identity used for status and private realtime correlation.\n *\n * @generated from field: fixed64 batch_request_id = 1;\n */\n batchRequestId: bigint;\n\n /**\n * Aggregate admission status.\n *\n * @generated from field: orders.v1.BatchReplaceAdmissionStatus status = 2;\n */\n status: BatchReplaceAdmissionStatus;\n\n /**\n * Per-item admission results in request order.\n *\n * @generated from field: repeated orders.v1.BatchReplaceAdmissionItem results = 3;\n */\n results: BatchReplaceAdmissionItem[];\n\n /**\n * Number of items admitted and handed to execution.\n *\n * @generated from field: uint32 accepted_count = 4;\n */\n acceptedCount: number;\n\n /**\n * Number of items rejected before execution handoff.\n *\n * @generated from field: uint32 rejected_count = 5;\n */\n rejectedCount: number;\n\n /**\n * Server acceptance timestamp.\n *\n * @generated from field: google.protobuf.Timestamp accepted_ts = 6;\n */\n acceptedTs?: Timestamp | undefined;\n\n /**\n * Server acceptance timestamp as epoch nanoseconds.\n *\n * @generated from field: uint64 accepted_ts_ns = 7;\n */\n acceptedTsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceOrdersResponse.\n * Use `create(BatchReplaceOrdersResponseSchema)` to create a new message.\n */\nexport const BatchReplaceOrdersResponseSchema: GenMessage<BatchReplaceOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 35);\n\n/**\n * BatchCancelItem identifies a single order to cancel within a batch.\n *\n * @generated from message orders.v1.BatchCancelItem\n */\nexport type BatchCancelItem = Message<\"orders.v1.BatchCancelItem\"> & {\n /**\n * Order ID as fixed64. Exactly one of order_id or client_order_id.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Client order ID. Exactly one of order_id or client_order_id.\n *\n * @generated from field: string client_order_id = 2;\n */\n clientOrderId: string;\n\n /**\n * Optional symbol routing hint.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n};\n\n/**\n * Describes the message orders.v1.BatchCancelItem.\n * Use `create(BatchCancelItemSchema)` to create a new message.\n */\nexport const BatchCancelItemSchema: GenMessage<BatchCancelItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 36);\n\n/**\n * BatchCancelResultItem contains the per-item result of a batch cancel.\n *\n * @generated from message orders.v1.BatchCancelResultItem\n */\nexport type BatchCancelResultItem = Message<\"orders.v1.BatchCancelResultItem\"> & {\n /**\n * Per-item cancellation outcome.\n *\n * @generated from field: orders.v1.BatchCancelResultItem.Status status = 1;\n */\n status: BatchCancelResultItem_Status;\n\n /**\n * Resolved order ID (populated on accept).\n *\n * @generated from field: fixed64 order_id = 2;\n */\n orderId: bigint;\n\n /**\n * Echoed client order ID (when provided).\n *\n * @generated from field: string client_order_id = 3;\n */\n clientOrderId: string;\n\n /**\n * Error code if rejected.\n *\n * @generated from field: string code = 4;\n */\n code: string;\n\n /**\n * Structured rejection details. Present for rate-limit guidance and other typed failures.\n *\n * @generated from field: orders.v1.ErrorDetail error = 5;\n */\n error?: ErrorDetail | undefined;\n};\n\n/**\n * Describes the message orders.v1.BatchCancelResultItem.\n * Use `create(BatchCancelResultItemSchema)` to create a new message.\n */\nexport const BatchCancelResultItemSchema: GenMessage<BatchCancelResultItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 37);\n\n/**\n * Per-item cancellation outcome.\n *\n * @generated from enum orders.v1.BatchCancelResultItem.Status\n */\nexport enum BatchCancelResultItem_Status {\n /**\n * Batch cancellation outcome was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * The cancellation request was accepted for processing.\n *\n * @generated from enum value: ACCEPTED = 1;\n */\n ACCEPTED = 1,\n\n /**\n * The cancellation request was rejected.\n *\n * @generated from enum value: REJECTED = 2;\n */\n REJECTED = 2,\n}\n\n/**\n * Describes the enum orders.v1.BatchCancelResultItem.Status.\n */\nexport const BatchCancelResultItem_StatusSchema: GenEnum<BatchCancelResultItem_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 37, 0);\n\n/**\n * BatchCancelOrdersRequest cancels multiple orders by explicit ID.\n *\n * @generated from message orders.v1.BatchCancelOrdersRequest\n */\nexport type BatchCancelOrdersRequest = Message<\"orders.v1.BatchCancelOrdersRequest\"> & {\n /**\n * Target sub-account numeric ID. When omitted, uses caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n\n /**\n * Idempotency key (required).\n *\n * @generated from field: string request_id = 2;\n */\n requestId: string;\n\n /**\n * Orders to cancel (max 50).\n *\n * @generated from field: repeated orders.v1.BatchCancelItem items = 3;\n */\n items: BatchCancelItem[];\n};\n\n/**\n * Describes the message orders.v1.BatchCancelOrdersRequest.\n * Use `create(BatchCancelOrdersRequestSchema)` to create a new message.\n */\nexport const BatchCancelOrdersRequestSchema: GenMessage<BatchCancelOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 38);\n\n/**\n * BatchCancelOrdersResponse returns per-item results for a batch cancel.\n *\n * @generated from message orders.v1.BatchCancelOrdersResponse\n */\nexport type BatchCancelOrdersResponse = Message<\"orders.v1.BatchCancelOrdersResponse\"> & {\n /**\n * Per-item results in same order as request.\n *\n * @generated from field: repeated orders.v1.BatchCancelResultItem results = 1;\n */\n results: BatchCancelResultItem[];\n\n /**\n * Number of requested cancellations that were accepted.\n *\n * @generated from field: uint32 accepted_count = 2;\n */\n acceptedCount: number;\n\n /**\n * Number of requested cancellations that were rejected.\n *\n * @generated from field: uint32 rejected_count = 3;\n */\n rejectedCount: number;\n\n /**\n * Server timestamp.\n *\n * @generated from field: google.protobuf.Timestamp ts = 4;\n */\n ts?: Timestamp | undefined;\n\n /**\n * Server timestamp as epoch nanoseconds (for bots).\n *\n * @generated from field: uint64 ts_ns = 5;\n */\n tsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchCancelOrdersResponse.\n * Use `create(BatchCancelOrdersResponseSchema)` to create a new message.\n */\nexport const BatchCancelOrdersResponseSchema: GenMessage<BatchCancelOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders, 39);\n\n/**\n * Side identifies whether an order buys or sells the base asset.\n *\n * @generated from enum orders.v1.Side\n */\nexport enum Side {\n /**\n * Side was not provided.\n *\n * @generated from enum value: SIDE_UNSPECIFIED = 0;\n */\n SIDE_UNSPECIFIED = 0,\n\n /**\n * Buy base asset using quote asset.\n *\n * @generated from enum value: BUY = 1;\n */\n BUY = 1,\n\n /**\n * Sell base asset for quote asset.\n *\n * @generated from enum value: SELL = 2;\n */\n SELL = 2,\n}\n\n/**\n * Describes the enum orders.v1.Side.\n */\nexport const SideSchema: GenEnum<Side> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 0);\n\n/**\n * OrderType identifies whether an order uses limit-price or market execution.\n *\n * @generated from enum orders.v1.OrderType\n */\nexport enum OrderType {\n /**\n * Order type was not provided.\n *\n * @generated from enum value: ORDER_TYPE_UNSPECIFIED = 0;\n */\n ORDER_TYPE_UNSPECIFIED = 0,\n\n /**\n * Limit order with an explicit price.\n *\n * @generated from enum value: LIMIT = 1;\n */\n LIMIT = 1,\n\n /**\n * Market order executed against available liquidity.\n *\n * @generated from enum value: MARKET = 2;\n */\n MARKET = 2,\n}\n\n/**\n * Describes the enum orders.v1.OrderType.\n */\nexport const OrderTypeSchema: GenEnum<OrderType> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 1);\n\n/**\n * TimeInForce controls how long an order may remain active and whether it must\n * fill completely.\n *\n * @generated from enum orders.v1.TimeInForce\n */\nexport enum TimeInForce {\n /**\n * Time-in-force was not provided; create requests default to GTC.\n *\n * @generated from enum value: TIME_IN_FORCE_UNSPECIFIED = 0;\n */\n TIME_IN_FORCE_UNSPECIFIED = 0,\n\n /**\n * Good-til-canceled.\n *\n * @generated from enum value: GTC = 1;\n */\n GTC = 1,\n\n /**\n * Immediate-or-cancel.\n *\n * @generated from enum value: IOC = 2;\n */\n IOC = 2,\n\n /**\n * Fill-or-kill.\n *\n * @generated from enum value: FOK = 3;\n */\n FOK = 3,\n\n /**\n * Good-til-date; the order may remain active only before its exact expiry time.\n *\n * @generated from enum value: GTD = 4;\n */\n GTD = 4,\n}\n\n/**\n * Describes the enum orders.v1.TimeInForce.\n */\nexport const TimeInForceSchema: GenEnum<TimeInForce> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 2);\n\n/**\n * FeeAsset identifies the asset in which an order fee is charged.\n *\n * @generated from enum orders.v1.FeeAsset\n */\nexport enum FeeAsset {\n /**\n * Fee asset was not provided; orders default to QUOTE.\n *\n * @generated from enum value: FEE_ASSET_UNSPECIFIED = 0;\n */\n FEE_ASSET_UNSPECIFIED = 0,\n\n /**\n * Fees are charged in the quote asset. SELL fees always use quote asset.\n *\n * @generated from enum value: QUOTE = 1;\n */\n QUOTE = 1,\n\n /**\n * BUY-only option: fees are deducted from the received base asset.\n *\n * @generated from enum value: BASE = 2;\n */\n BASE = 2,\n}\n\n/**\n * Describes the enum orders.v1.FeeAsset.\n */\nexport const FeeAssetSchema: GenEnum<FeeAsset> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 3);\n\n/**\n * SelfTradePreventionMode controls which orders expire when they would trade\n * against another order from the same account.\n *\n * @generated from enum orders.v1.SelfTradePreventionMode\n */\nexport enum SelfTradePreventionMode {\n /**\n * Self-trade prevention mode was not provided; create requests default to EXPIRE_MAKER.\n *\n * @generated from enum value: SELF_TRADE_PREVENTION_MODE_UNSPECIFIED = 0;\n */\n SELF_TRADE_PREVENTION_MODE_UNSPECIFIED = 0,\n\n /**\n * Cancel the resting maker order on self-trade.\n *\n * @generated from enum value: EXPIRE_MAKER = 1;\n */\n EXPIRE_MAKER = 1,\n\n /**\n * Cancel the incoming taker order on self-trade.\n *\n * @generated from enum value: EXPIRE_TAKER = 2;\n */\n EXPIRE_TAKER = 2,\n\n /**\n * Cancel both maker and taker orders on self-trade.\n *\n * @generated from enum value: EXPIRE_BOTH = 3;\n */\n EXPIRE_BOTH = 3,\n}\n\n/**\n * Describes the enum orders.v1.SelfTradePreventionMode.\n */\nexport const SelfTradePreventionModeSchema: GenEnum<SelfTradePreventionMode> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 4);\n\n/**\n * ErrorCode enumerates stable machine-readable error codes for the Orders API.\n * These mirror the REST problem+json \"code\" field for parity between REST and\n * ConnectRPC clients.\n *\n * @generated from enum orders.v1.ErrorCode\n */\nexport enum ErrorCode {\n /**\n * Error code was not provided.\n *\n * @generated from enum value: ERROR_CODE_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Request could not be parsed or was structurally invalid.\n *\n * @generated from enum value: ERROR_CODE_BAD_REQUEST = 1;\n */\n BAD_REQUEST = 1,\n\n /**\n * Request fields failed validation.\n *\n * @generated from enum value: ERROR_CODE_INVALID_ARGUMENT = 2;\n */\n INVALID_ARGUMENT = 2,\n\n /**\n * Account does not have enough available balance for the order.\n *\n * @generated from enum value: ERROR_CODE_INSUFFICIENT_FUNDS = 3;\n */\n INSUFFICIENT_FUNDS = 3,\n\n /**\n * Requested trading symbol is unknown.\n *\n * @generated from enum value: ERROR_CODE_UNKNOWN_SYMBOL = 4;\n */\n UNKNOWN_SYMBOL = 4,\n\n /**\n * Price is invalid for the requested order.\n *\n * @generated from enum value: ERROR_CODE_BAD_PRICE = 5;\n */\n BAD_PRICE = 5,\n\n /**\n * Quantity is invalid for the requested order.\n *\n * @generated from enum value: ERROR_CODE_BAD_QTY = 6;\n */\n BAD_QTY = 6,\n\n /**\n * Order notional is below the pair minimum.\n *\n * @generated from enum value: ERROR_CODE_MIN_NOTIONAL = 7;\n */\n MIN_NOTIONAL = 7,\n\n /**\n * Quantity does not align with the pair step size.\n *\n * @generated from enum value: ERROR_CODE_QTY_STEP_SIZE = 8;\n */\n QTY_STEP_SIZE = 8,\n\n /**\n * Client order ID is already in use for a different active order.\n *\n * @generated from enum value: ERROR_CODE_CONFLICT_DUPLICATE_CLIENT_ORDER_ID = 9;\n */\n CONFLICT_DUPLICATE_CLIENT_ORDER_ID = 9,\n\n /**\n * Service is temporarily unavailable.\n *\n * @generated from enum value: ERROR_CODE_UNAVAILABLE = 10;\n */\n UNAVAILABLE = 10,\n\n /**\n * Caller is not authenticated.\n *\n * @generated from enum value: ERROR_CODE_UNAUTHENTICATED = 11;\n */\n UNAUTHENTICATED = 11,\n\n /**\n * Caller is authenticated but not allowed to perform this action.\n *\n * @generated from enum value: ERROR_CODE_PERMISSION_DENIED = 12;\n */\n PERMISSION_DENIED = 12,\n\n /**\n * Requested order or resource was not found.\n *\n * @generated from enum value: ERROR_CODE_NOT_FOUND = 13;\n */\n NOT_FOUND = 13,\n\n /**\n * Upstream dependency returned an error.\n *\n * @generated from enum value: ERROR_CODE_UPSTREAM_ERROR = 14;\n */\n UPSTREAM_ERROR = 14,\n\n /**\n * Requested fee asset is not allowed for this order.\n *\n * @generated from enum value: ERROR_CODE_FEE_ASSET_NOT_ALLOWED = 15;\n */\n FEE_ASSET_NOT_ALLOWED = 15,\n\n /**\n * Pair is disabled and does not accept orders.\n *\n * @generated from enum value: ERROR_CODE_PAIR_DISABLED = 16;\n */\n PAIR_DISABLED = 16,\n\n /**\n * Referenced order could not be resolved.\n *\n * @generated from enum value: ERROR_CODE_ORDER_UNKNOWN = 17;\n */\n ORDER_UNKNOWN = 17,\n\n /**\n * Order processing failed because of an unexpected error.\n *\n * @generated from enum value: ERROR_CODE_INTERNAL_ERROR = 18;\n */\n INTERNAL_ERROR = 18,\n\n /**\n * Sub-account is present but not in an active state (disabled, deleted,\n * etc.).\n *\n * @generated from enum value: ERROR_CODE_SUBACCOUNT_INACTIVE = 19;\n */\n SUBACCOUNT_INACTIVE = 19,\n\n /**\n * Sub-account policy prevented trading on this market (e.g. pair mask).\n *\n * @generated from enum value: ERROR_CODE_POLICY_MARKET_DENY = 20;\n */\n POLICY_MARKET_DENY = 20,\n\n /**\n * Sub-account policy max order notional exceeded.\n *\n * @generated from enum value: ERROR_CODE_POLICY_MAX_NOTIONAL = 21;\n */\n POLICY_MAX_NOTIONAL = 21,\n\n /**\n * Trading has been globally halted for this sub-account.\n *\n * @generated from enum value: ERROR_CODE_POLICY_TRADING_HALTED = 22;\n */\n POLICY_TRADING_HALTED = 22,\n\n /**\n * Sub-account policy does not allow spot trading (action mask).\n *\n * @generated from enum value: ERROR_CODE_POLICY_SPOT_TRADE_DENY = 23;\n */\n POLICY_SPOT_TRADE_DENY = 23,\n\n /**\n * API key is scoped to the master/root account and cannot trade on\n * sub-accounts.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_ROOT_SCOPE_ONLY = 24;\n */\n API_KEY_ROOT_SCOPE_ONLY = 24,\n\n /**\n * API key is scoped to a specific sub-account and cannot trade on the\n * master/root account.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_SUB_SCOPE_ONLY = 25;\n */\n API_KEY_SUB_SCOPE_ONLY = 25,\n\n /**\n * API key is scoped to a different sub-account than the one requested.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_SUBACCOUNT_MISMATCH = 26;\n */\n API_KEY_SUBACCOUNT_MISMATCH = 26,\n\n /**\n * API key must have an attached policy before it can be used for trading.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_POLICY_REQUIRED = 27;\n */\n API_KEY_POLICY_REQUIRED = 27,\n\n /**\n * API key referenced in the request could not be resolved by the Orders\n * service.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_UNKNOWN = 28;\n */\n API_KEY_UNKNOWN = 28,\n\n /**\n * API key policy does not allow trading this market, even though the\n * sub-account policy does.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_MARKET_DENY = 29;\n */\n API_KEY_MARKET_DENY = 29,\n\n /**\n * Price must align with the pair tick size (LIMIT orders).\n *\n * @generated from enum value: ERROR_CODE_PRICE_TICK_SIZE = 30;\n */\n PRICE_TICK_SIZE = 30,\n\n /**\n * Quantity is below the pair minimum quantity (base units).\n *\n * @generated from enum value: ERROR_CODE_MIN_QTY = 31;\n */\n MIN_QTY = 31,\n\n /**\n * Post-only is only valid for LIMIT orders.\n *\n * @generated from enum value: ERROR_CODE_POST_ONLY_LIMIT_ONLY = 32;\n */\n POST_ONLY_LIMIT_ONLY = 32,\n\n /**\n * Batch size exceeds the maximum allowed.\n *\n * @generated from enum value: ERROR_CODE_BATCH_TOO_LARGE = 33;\n */\n BATCH_TOO_LARGE = 33,\n\n /**\n * Sub-account policy maximum number of open orders has been reached.\n *\n * @generated from enum value: ERROR_CODE_POLICY_MAX_OPEN_ORDERS = 34;\n */\n POLICY_MAX_OPEN_ORDERS = 34,\n\n /**\n * Modify request in AMEND_ONLY mode requires replace semantics.\n *\n * @generated from enum value: ERROR_CODE_MODIFICATION_REQUIRES_REPLACE = 35;\n */\n MODIFICATION_REQUIRES_REPLACE = 35,\n\n /**\n * Idempotency key was reused with a different payload.\n *\n * @generated from enum value: ERROR_CODE_CONFLICT_IDEMPOTENCY_KEY_REUSE = 36;\n */\n CONFLICT_IDEMPOTENCY_KEY_REUSE = 36,\n\n /**\n * MARKET BUY cannot be reserved because no reference/top-of-book price is available.\n *\n * @generated from enum value: ERROR_CODE_MARKET_PRICE_UNAVAILABLE = 37;\n */\n MARKET_PRICE_UNAVAILABLE = 37,\n\n /**\n * Pair exists but is not listed yet.\n *\n * @generated from enum value: ERROR_CODE_PAIR_NOT_LISTED_YET = 50;\n */\n PAIR_NOT_LISTED_YET = 50,\n\n /**\n * Pair was delisted and is no longer tradable.\n *\n * @generated from enum value: ERROR_CODE_PAIR_DELISTED = 51;\n */\n PAIR_DELISTED = 51,\n\n /**\n * Pair is in cancel-only mode.\n *\n * @generated from enum value: ERROR_CODE_PAIR_CANCEL_ONLY = 52;\n */\n PAIR_CANCEL_ONLY = 52,\n\n /**\n * Pair is in post-only mode and requires post_only=true.\n *\n * @generated from enum value: ERROR_CODE_PAIR_POST_ONLY = 53;\n */\n PAIR_POST_ONLY = 53,\n\n /**\n * Pair is in reduce-only mode and does not accept new spot orders.\n *\n * @generated from enum value: ERROR_CODE_PAIR_REDUCE_ONLY = 54;\n */\n PAIR_REDUCE_ONLY = 54,\n\n /**\n * Account-level risk limits were exceeded.\n *\n * @generated from enum value: ERROR_CODE_RISK_LIMIT = 55;\n */\n RISK_LIMIT = 55,\n\n /**\n * Market is halted.\n *\n * @generated from enum value: ERROR_CODE_MARKET_HALTED = 56;\n */\n MARKET_HALTED = 56,\n\n /**\n * Referenced account could not be resolved by the trading service.\n *\n * @generated from enum value: ERROR_CODE_ACCOUNT_UNKNOWN = 57;\n */\n ACCOUNT_UNKNOWN = 57,\n\n /**\n * Post-only order would cross the book.\n *\n * @generated from enum value: ERROR_CODE_POST_ONLY_CROSS = 58;\n */\n POST_ONLY_CROSS = 58,\n\n /**\n * Reduce-only policy blocked the order.\n *\n * @generated from enum value: ERROR_CODE_REDUCE_ONLY_BLOCKED = 59;\n */\n REDUCE_ONLY_BLOCKED = 59,\n\n /**\n * Price band guard rejected the order.\n *\n * @generated from enum value: ERROR_CODE_PRICE_BAND_VIOLATION = 60;\n */\n PRICE_BAND_VIOLATION = 60,\n\n /**\n * Market-cap guard rejected the order.\n *\n * @generated from enum value: ERROR_CODE_MARKET_CAP_VIOLATION = 61;\n */\n MARKET_CAP_VIOLATION = 61,\n\n /**\n * Market order could not execute due to empty book.\n *\n * @generated from enum value: ERROR_CODE_EMPTY_BOOK = 62;\n */\n EMPTY_BOOK = 62,\n\n /**\n * FOK order rejected due to insufficient immediate liquidity.\n *\n * @generated from enum value: ERROR_CODE_FOK_INSUFFICIENT_LIQUIDITY = 63;\n */\n FOK_INSUFFICIENT_LIQUIDITY = 63,\n\n /**\n * Client order ID points to an order that already reached terminal state.\n *\n * @generated from enum value: ERROR_CODE_ORDER_ALREADY_TERMINAL = 64;\n */\n ORDER_ALREADY_TERMINAL = 64,\n\n /**\n * Trigger-specific error codes (40-49 range).\n * Trigger price is invalid (e.g., TP below current price for long).\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_PRICE_INVALID = 40;\n */\n TRIGGER_PRICE_INVALID = 40,\n\n /**\n * Trigger price source not supported (e.g., INDEX_PRICE before it's\n * available).\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_PRICE_SOURCE_UNSUPPORTED = 41;\n */\n TRIGGER_PRICE_SOURCE_UNSUPPORTED = 41,\n\n /**\n * Trailing stop distance must be positive.\n *\n * @generated from enum value: ERROR_CODE_TRAILING_DISTANCE_INVALID = 42;\n */\n TRAILING_DISTANCE_INVALID = 42,\n\n /**\n * Trigger not found (for cancel/get operations).\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_NOT_FOUND = 43;\n */\n TRIGGER_NOT_FOUND = 43,\n\n /**\n * Trigger cannot be canceled in current state.\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_CANCEL_REJECTED = 44;\n */\n TRIGGER_CANCEL_REJECTED = 44,\n\n /**\n * Trigger status does not allow requested lifecycle operation.\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_STATUS_INVALID = 45;\n */\n TRIGGER_STATUS_INVALID = 45,\n\n /**\n * Trigger type/state does not support requested lifecycle operation.\n *\n * @generated from enum value: ERROR_CODE_TRIGGER_NOT_MODIFIABLE = 46;\n */\n TRIGGER_NOT_MODIFIABLE = 46,\n\n /**\n * Duplicate client trigger ID was reused with a different trigger payload.\n *\n * @generated from enum value: ERROR_CODE_CONFLICT_DUPLICATE_CLIENT_TRIGGER_ID = 47;\n */\n CONFLICT_DUPLICATE_CLIENT_TRIGGER_ID = 47,\n\n /**\n * Trailing-stop max slippage (ticks or bps) is invalid.\n *\n * @generated from enum value: ERROR_CODE_MAX_SLIPPAGE_INVALID = 48;\n */\n MAX_SLIPPAGE_INVALID = 48,\n\n /**\n * Client reference price is stale compared to server-side BBO/drift policy.\n *\n * @generated from enum value: ERROR_CODE_STALE_QUOTE = 65;\n */\n STALE_QUOTE = 65,\n\n /**\n * Request failed structural or cross-field validation.\n *\n * @generated from enum value: ERROR_CODE_VALIDATION_ERROR = 66;\n */\n VALIDATION_ERROR = 66,\n\n /**\n * This edge is at its bounded concurrent BatchReplace admission capacity.\n *\n * @generated from enum value: ERROR_CODE_OVERLOADED = 67;\n */\n OVERLOADED = 67,\n\n /**\n * The all-in quote budget cannot resolve one valid step-aligned base quantity.\n *\n * @generated from enum value: ERROR_CODE_MAX_QUOTE_DEBIT_TOO_SMALL = 68;\n */\n MAX_QUOTE_DEBIT_TOO_SMALL = 68,\n\n /**\n * The account exhausted its current order-admission quota.\n *\n * @generated from enum value: ERROR_CODE_RATE_LIMIT_EXCEEDED = 69;\n */\n RATE_LIMIT_EXCEEDED = 69,\n\n /**\n * Caller has a sub-account role that does not allow reading spot data.\n *\n * @generated from enum value: ERROR_CODE_SUBACCOUNT_READ_FORBIDDEN = 70;\n */\n SUBACCOUNT_READ_FORBIDDEN = 70,\n\n /**\n * Sub-account policy does not allow reading spot data.\n *\n * @generated from enum value: ERROR_CODE_POLICY_SPOT_READ_DENY = 71;\n */\n POLICY_SPOT_READ_DENY = 71,\n\n /**\n * API key policy does not allow reading spot data.\n *\n * @generated from enum value: ERROR_CODE_API_KEY_SPOT_READ_DENY = 72;\n */\n API_KEY_SPOT_READ_DENY = 72,\n\n /**\n * The cancel request exceeded its bounded internal replay window.\n *\n * @generated from enum value: ERROR_CODE_CANCEL_REQUEST_EXPIRED = 73;\n */\n CANCEL_REQUEST_EXPIRED = 73,\n}\n\n/**\n * Describes the enum orders.v1.ErrorCode.\n */\nexport const ErrorCodeSchema: GenEnum<ErrorCode> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 5);\n\n/**\n * TriggerPriceSource defines which price feed to use for trigger evaluation.\n * v1 supports LAST_PRICE only; INDEX_PRICE and MARK_PRICE are reserved for\n * future.\n *\n * @generated from enum orders.v1.TriggerPriceSource\n */\nexport enum TriggerPriceSource {\n /**\n * Trigger price source was not provided; spot triggers default to LAST_PRICE.\n *\n * @generated from enum value: TRIGGER_PRICE_SOURCE_UNSPECIFIED = 0;\n */\n TRIGGER_PRICE_SOURCE_UNSPECIFIED = 0,\n\n /**\n * Last traded price (default for spot).\n *\n * @generated from enum value: LAST_PRICE = 1;\n */\n LAST_PRICE = 1,\n\n /**\n * Index price aggregated from external exchanges (future).\n *\n * @generated from enum value: INDEX_PRICE = 2;\n */\n INDEX_PRICE = 2,\n\n /**\n * Mark price for perpetuals (future).\n *\n * @generated from enum value: MARK_PRICE = 3;\n */\n MARK_PRICE = 3,\n}\n\n/**\n * Describes the enum orders.v1.TriggerPriceSource.\n */\nexport const TriggerPriceSourceSchema: GenEnum<TriggerPriceSource> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 6);\n\n/**\n * TriggerDirection defines whether the trigger fires when price goes above or\n * below threshold.\n *\n * @generated from enum orders.v1.TriggerDirection\n */\nexport enum TriggerDirection {\n /**\n * Trigger direction was not provided.\n *\n * @generated from enum value: TRIGGER_DIRECTION_UNSPECIFIED = 0;\n */\n TRIGGER_DIRECTION_UNSPECIFIED = 0,\n\n /**\n * Fire when price >= trigger_price (e.g., take-profit for long, stop-loss for\n * short).\n *\n * @generated from enum value: ABOVE = 1;\n */\n ABOVE = 1,\n\n /**\n * Fire when price <= trigger_price (e.g., stop-loss for long, take-profit for\n * short).\n *\n * @generated from enum value: BELOW = 2;\n */\n BELOW = 2,\n}\n\n/**\n * Describes the enum orders.v1.TriggerDirection.\n */\nexport const TriggerDirectionSchema: GenEnum<TriggerDirection> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 7);\n\n/**\n * ModifyBehavior controls how ModifyOrder should handle amend-vs-replace paths.\n * MODIFY_BEHAVIOR_UNSPECIFIED is treated as AMEND_OR_REPLACE by server logic.\n *\n * @generated from enum orders.v1.ModifyBehavior\n */\nexport enum ModifyBehavior {\n /**\n * Behavior was not provided; server treats this as AMEND_OR_REPLACE.\n *\n * @generated from enum value: MODIFY_BEHAVIOR_UNSPECIFIED = 0;\n */\n MODIFY_BEHAVIOR_UNSPECIFIED = 0,\n\n /**\n * Try in-place amend first; if patch cannot be amended, fall back to replace.\n *\n * @generated from enum value: AMEND_OR_REPLACE = 1;\n */\n AMEND_OR_REPLACE = 1,\n\n /**\n * In-place amend only; reject if patch requires replace semantics.\n *\n * @generated from enum value: AMEND_ONLY = 2;\n */\n AMEND_ONLY = 2,\n\n /**\n * Always attempt replace semantics.\n *\n * @generated from enum value: REPLACE_ONLY = 3;\n */\n REPLACE_ONLY = 3,\n}\n\n/**\n * Describes the enum orders.v1.ModifyBehavior.\n */\nexport const ModifyBehaviorSchema: GenEnum<ModifyBehavior> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 8);\n\n/**\n * ModifyActionTaken describes what action was applied for a modify request.\n *\n * @generated from enum orders.v1.ModifyActionTaken\n */\nexport enum ModifyActionTaken {\n /**\n * Modify action is unknown or the request was rejected.\n *\n * @generated from enum value: MODIFY_ACTION_UNSPECIFIED = 0;\n */\n MODIFY_ACTION_UNSPECIFIED = 0,\n\n /**\n * Existing order was amended in place.\n *\n * @generated from enum value: AMENDED = 1;\n */\n AMENDED = 1,\n\n /**\n * Existing order was canceled and replaced with a new order.\n *\n * @generated from enum value: REPLACED = 2;\n */\n REPLACED = 2,\n}\n\n/**\n * Describes the enum orders.v1.ModifyActionTaken.\n */\nexport const ModifyActionTakenSchema: GenEnum<ModifyActionTaken> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 9);\n\n/**\n * BatchReplaceAdmissionStatus summarizes admission of one quote-refresh batch.\n *\n * @generated from enum orders.v1.BatchReplaceAdmissionStatus\n */\nexport enum BatchReplaceAdmissionStatus {\n /**\n * Admission status is unavailable.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Every requested operation was admitted, including cancel-only outcomes.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_ADMITTED = 1;\n */\n ADMITTED = 1,\n\n /**\n * Some requested replacements were admitted and others were rejected.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_PARTIALLY_ADMITTED = 2;\n */\n PARTIALLY_ADMITTED = 2,\n\n /**\n * No requested replacement was admitted.\n *\n * @generated from enum value: BATCH_REPLACE_ADMISSION_STATUS_REJECTED = 3;\n */\n REJECTED = 3,\n}\n\n/**\n * Describes the enum orders.v1.BatchReplaceAdmissionStatus.\n */\nexport const BatchReplaceAdmissionStatusSchema: GenEnum<BatchReplaceAdmissionStatus> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 10);\n\n/**\n * BatchReplaceItemAdmissionStatus describes admission of one replacement.\n *\n * @generated from enum orders.v1.BatchReplaceItemAdmissionStatus\n */\nexport enum BatchReplaceItemAdmissionStatus {\n /**\n * Item admission status is unavailable.\n *\n * @generated from enum value: BATCH_REPLACE_ITEM_ADMISSION_STATUS_UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * The operation was admitted and handed to execution. Check action_taken for cancel-only outcomes.\n *\n * @generated from enum value: BATCH_REPLACE_ITEM_ADMISSION_STATUS_ADMITTED = 1;\n */\n ADMITTED = 1,\n\n /**\n * The replacement was rejected before execution handoff.\n *\n * @generated from enum value: BATCH_REPLACE_ITEM_ADMISSION_STATUS_REJECTED = 2;\n */\n REJECTED = 2,\n}\n\n/**\n * Describes the enum orders.v1.BatchReplaceItemAdmissionStatus.\n */\nexport const BatchReplaceItemAdmissionStatusSchema: GenEnum<BatchReplaceItemAdmissionStatus> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders, 11);\n\n/**\n * @generated from service orders.v1.OrdersService\n */\nexport const OrdersService: GenService<{\n /**\n * Check whether an order is currently admissible without creating an order,\n * claiming its client order ID, or reserving funds.\n *\n * @generated from rpc orders.v1.OrdersService.PreviewOrder\n */\n previewOrder: {\n methodKind: \"unary\";\n input: typeof PreviewOrderRequestSchema;\n output: typeof PreviewOrderResponseSchema;\n },\n /**\n * Create a new order.\n * REST clients submit decimal quantity and price strings. ConnectRPC clients\n * submit scaled integer values.\n *\n * @generated from rpc orders.v1.OrdersService.CreateOrder\n */\n createOrder: {\n methodKind: \"unary\";\n input: typeof CreateOrderRequestSchema;\n output: typeof CreateOrderResponseSchema;\n },\n /**\n * Cancels an existing order by id or client order id.\n * REST clients submit base58 order IDs. ConnectRPC clients submit fixed64\n * order IDs.\n *\n * @generated from rpc orders.v1.OrdersService.CancelOrder\n */\n cancelOrder: {\n methodKind: \"unary\";\n input: typeof CancelOrderRequestSchema;\n output: typeof CancelOrderResponseSchema;\n },\n /**\n * Cancels all matching open orders for an account (kill switch).\n * Evaluates matching orders from a consistent snapshot at request start.\n * Final state is confirmed via the order update stream or read path.\n *\n * @generated from rpc orders.v1.OrdersService.CancelAllOrders\n */\n cancelAllOrders: {\n methodKind: \"unary\";\n input: typeof CancelAllOrdersRequestSchema;\n output: typeof CancelAllOrdersResponseSchema;\n },\n /**\n * Set cancel-all-after (dead-man switch).\n * Arms or disables automatic cancel-all if heartbeat is not refreshed before expiry.\n *\n * @generated from rpc orders.v1.OrdersService.CancelAllAfter\n */\n cancelAllAfter: {\n methodKind: \"unary\";\n input: typeof CancelAllAfterRequestSchema;\n output: typeof CancelAllAfterResponseSchema;\n },\n /**\n * Places multiple orders in a single request (best-effort per item).\n *\n * @generated from rpc orders.v1.OrdersService.BatchCreateOrders\n */\n batchCreateOrders: {\n methodKind: \"unary\";\n input: typeof BatchCreateOrdersRequestSchema;\n output: typeof BatchCreateOrdersResponseSchema;\n },\n /**\n * Modifies an existing order using explicit behavior policy.\n *\n * @generated from rpc orders.v1.OrdersService.ModifyOrder\n */\n modifyOrder: {\n methodKind: \"unary\";\n input: typeof ModifyOrderRequestSchema;\n output: typeof ModifyOrderResponseSchema;\n },\n /**\n * Replaces same-symbol orders and returns after authoritative admission.\n *\n * @generated from rpc orders.v1.OrdersService.BatchReplaceOrders\n */\n batchReplaceOrders: {\n methodKind: \"unary\";\n input: typeof BatchReplaceOrdersRequestSchema;\n output: typeof BatchReplaceOrdersResponseSchema;\n },\n /**\n * Cancels multiple orders by explicit ID in a single request.\n * Per-item results are returned; partial success is the default.\n * Final state is confirmed via the order update stream or read path.\n *\n * @generated from rpc orders.v1.OrdersService.BatchCancelOrders\n */\n batchCancelOrders: {\n methodKind: \"unary\";\n input: typeof BatchCancelOrdersRequestSchema;\n output: typeof BatchCancelOrdersResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_orders_v1_orders, 0);\n\n"],"mappings":"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"}