@polyester/sdk 0.12.0 → 0.14.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 (144) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/core-client.d.ts +3 -3
  3. package/dist/core-client.d.ts.map +1 -1
  4. package/dist/core-client.js +35 -50
  5. package/dist/core-client.js.map +1 -1
  6. package/dist/gen/orders/v1/orders_read_pb.d.ts +2 -2
  7. package/dist/gen/orders/v1/orders_read_pb.js.map +1 -1
  8. package/dist/services/accounts/accounts.d.ts +2 -2
  9. package/dist/services/accounts/accounts.d.ts.map +1 -1
  10. package/dist/services/accounts/accounts.js +2 -2
  11. package/dist/services/accounts/accounts.js.map +1 -1
  12. package/dist/services/address-book/address-book.d.ts +2 -2
  13. package/dist/services/address-book/address-book.d.ts.map +1 -1
  14. package/dist/services/address-book/address-book.js +2 -2
  15. package/dist/services/address-book/address-book.js.map +1 -1
  16. package/dist/services/api-keys/api-keys.d.ts +2 -2
  17. package/dist/services/api-keys/api-keys.d.ts.map +1 -1
  18. package/dist/services/api-keys/api-keys.js +3 -3
  19. package/dist/services/api-keys/api-keys.js.map +1 -1
  20. package/dist/services/auth/account-signer-auth.d.ts +3 -2
  21. package/dist/services/auth/account-signer-auth.d.ts.map +1 -1
  22. package/dist/services/auth/account-signer-auth.js.map +1 -1
  23. package/dist/services/auth/auth.d.ts +3 -7
  24. package/dist/services/auth/auth.d.ts.map +1 -1
  25. package/dist/services/auth/auth.js +1 -1
  26. package/dist/services/auth/auth.js.map +1 -1
  27. package/dist/services/auth/profile/profile.d.ts +2 -2
  28. package/dist/services/auth/profile/profile.d.ts.map +1 -1
  29. package/dist/services/auth/profile/profile.js +2 -2
  30. package/dist/services/auth/profile/profile.js.map +1 -1
  31. package/dist/services/balances/balances.d.ts +2 -2
  32. package/dist/services/balances/balances.d.ts.map +1 -1
  33. package/dist/services/balances/balances.js +2 -2
  34. package/dist/services/balances/balances.js.map +1 -1
  35. package/dist/services/candles/candles.d.ts +2 -2
  36. package/dist/services/candles/candles.d.ts.map +1 -1
  37. package/dist/services/candles/candles.js +2 -2
  38. package/dist/services/candles/candles.js.map +1 -1
  39. package/dist/services/chain-analytics/chain-analytics.d.ts +2 -2
  40. package/dist/services/chain-analytics/chain-analytics.d.ts.map +1 -1
  41. package/dist/services/chain-analytics/chain-analytics.js +2 -2
  42. package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
  43. package/dist/services/deposit/deposit.d.ts +2 -2
  44. package/dist/services/deposit/deposit.d.ts.map +1 -1
  45. package/dist/services/deposit/deposit.js +2 -2
  46. package/dist/services/deposit/deposit.js.map +1 -1
  47. package/dist/services/fees/fees.d.ts +2 -2
  48. package/dist/services/fees/fees.d.ts.map +1 -1
  49. package/dist/services/fees/fees.js +2 -2
  50. package/dist/services/fees/fees.js.map +1 -1
  51. package/dist/services/guard-signer/guard-signer.d.ts +2 -2
  52. package/dist/services/guard-signer/guard-signer.d.ts.map +1 -1
  53. package/dist/services/guard-signer/guard-signer.js +2 -2
  54. package/dist/services/guard-signer/guard-signer.js.map +1 -1
  55. package/dist/services/heatmap/heatmap.d.ts +2 -2
  56. package/dist/services/heatmap/heatmap.d.ts.map +1 -1
  57. package/dist/services/heatmap/heatmap.js +2 -2
  58. package/dist/services/heatmap/heatmap.js.map +1 -1
  59. package/dist/services/heatmap/heatmap.schemas.d.ts +4 -4
  60. package/dist/services/internal-transfers/internal-transfers.d.ts +2 -2
  61. package/dist/services/internal-transfers/internal-transfers.d.ts.map +1 -1
  62. package/dist/services/internal-transfers/internal-transfers.js +2 -2
  63. package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
  64. package/dist/services/lifecycle/lifecycle.d.ts +2 -2
  65. package/dist/services/lifecycle/lifecycle.d.ts.map +1 -1
  66. package/dist/services/lifecycle/lifecycle.js +2 -2
  67. package/dist/services/lifecycle/lifecycle.js.map +1 -1
  68. package/dist/services/lifecycle/lifecycle.schemas.d.ts +42 -42
  69. package/dist/services/market-data/market-data.d.ts +2 -2
  70. package/dist/services/market-data/market-data.d.ts.map +1 -1
  71. package/dist/services/market-data/market-data.js +2 -2
  72. package/dist/services/market-data/market-data.js.map +1 -1
  73. package/dist/services/market-overview/market-overview.d.ts +2 -2
  74. package/dist/services/market-overview/market-overview.d.ts.map +1 -1
  75. package/dist/services/market-overview/market-overview.js +2 -2
  76. package/dist/services/market-overview/market-overview.js.map +1 -1
  77. package/dist/services/mfa/mfa.d.ts +2 -2
  78. package/dist/services/mfa/mfa.d.ts.map +1 -1
  79. package/dist/services/mfa/mfa.js +2 -2
  80. package/dist/services/mfa/mfa.js.map +1 -1
  81. package/dist/services/orderbook/orderbook.d.ts +2 -2
  82. package/dist/services/orderbook/orderbook.d.ts.map +1 -1
  83. package/dist/services/orderbook/orderbook.js +2 -2
  84. package/dist/services/orderbook/orderbook.js.map +1 -1
  85. package/dist/services/orderbook/orderbook.schemas.d.ts +1 -1
  86. package/dist/services/orders/orders-output.schemas.d.ts +8 -8
  87. package/dist/services/orders/orders-output.schemas.js +1 -1
  88. package/dist/services/orders/orders-output.schemas.js.map +1 -1
  89. package/dist/services/orders/orders.d.ts +2 -2
  90. package/dist/services/orders/orders.d.ts.map +1 -1
  91. package/dist/services/orders/orders.js +3 -3
  92. package/dist/services/orders/orders.js.map +1 -1
  93. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +2 -2
  94. package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
  95. package/dist/services/policies/api-key-policies/api-key-policies.js +2 -2
  96. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
  97. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +2 -2
  98. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
  99. package/dist/services/policies/subaccount-policies/subaccount-policies.js +2 -2
  100. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
  101. package/dist/services/rate-limits/rate-limits.d.ts +2 -2
  102. package/dist/services/rate-limits/rate-limits.d.ts.map +1 -1
  103. package/dist/services/rate-limits/rate-limits.js.map +1 -1
  104. package/dist/services/social-verification/social-verification.d.ts +2 -2
  105. package/dist/services/social-verification/social-verification.d.ts.map +1 -1
  106. package/dist/services/social-verification/social-verification.js +2 -2
  107. package/dist/services/social-verification/social-verification.js.map +1 -1
  108. package/dist/services/subaccounts/subaccounts.d.ts +3 -3
  109. package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
  110. package/dist/services/subaccounts/subaccounts.js +11 -9
  111. package/dist/services/subaccounts/subaccounts.js.map +1 -1
  112. package/dist/services/subaccounts/subaccounts.schemas.d.ts +2 -2
  113. package/dist/services/trades/trades.d.ts +2 -2
  114. package/dist/services/trades/trades.d.ts.map +1 -1
  115. package/dist/services/trades/trades.js +2 -2
  116. package/dist/services/trades/trades.js.map +1 -1
  117. package/dist/services/trading-withdraws/trading-withdraws.d.ts +2 -2
  118. package/dist/services/trading-withdraws/trading-withdraws.d.ts.map +1 -1
  119. package/dist/services/trading-withdraws/trading-withdraws.js +2 -2
  120. package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
  121. package/dist/services/transfers/transfers.d.ts +2 -2
  122. package/dist/services/transfers/transfers.d.ts.map +1 -1
  123. package/dist/services/transfers/transfers.js +2 -2
  124. package/dist/services/transfers/transfers.js.map +1 -1
  125. package/dist/services/triggers/trigger-input.schemas.d.ts +2 -2
  126. package/dist/services/triggers/triggers-output.schemas.d.ts +18 -18
  127. package/dist/services/triggers/triggers.d.ts +2 -2
  128. package/dist/services/triggers/triggers.d.ts.map +1 -1
  129. package/dist/services/triggers/triggers.js +2 -2
  130. package/dist/services/triggers/triggers.js.map +1 -1
  131. package/dist/services/vip/vip.d.ts +2 -2
  132. package/dist/services/vip/vip.js.map +1 -1
  133. package/dist/services/whiteboard/whiteboard.d.ts +2 -2
  134. package/dist/services/whiteboard/whiteboard.d.ts.map +1 -1
  135. package/dist/services/whiteboard/whiteboard.js +2 -2
  136. package/dist/services/whiteboard/whiteboard.js.map +1 -1
  137. package/dist/services/zipper/zipper.d.ts +2 -2
  138. package/dist/services/zipper/zipper.d.ts.map +1 -1
  139. package/dist/services/zipper/zipper.js +2 -2
  140. package/dist/services/zipper/zipper.js.map +1 -1
  141. package/dist/shared/transports.d.ts +7 -1
  142. package/dist/shared/transports.d.ts.map +1 -1
  143. package/dist/shared/transports.js.map +1 -1
  144. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"orders_read_pb.js","names":[],"sources":["../../../../src/gen/orders/v1/orders_read_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_read.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 { AccountCode, TransferCode } from \"../../ledger/v1/catalog_pb.js\";\nimport { file_ledger_v1_catalog } from \"../../ledger/v1/catalog_pb.js\";\nimport type { BatchReplaceAdmissionStatus, FeeAsset, OrderType, SelfTradePreventionMode, Side, StopLossPolicy, TakeProfitPolicy, TimeInForce, TrailingStopPolicy } from \"./orders_pb.js\";\nimport { file_orders_v1_orders } from \"./orders_pb.js\";\nimport type { U128 } from \"../../polyester/type/v1/u128_pb.js\";\nimport { file_polyester_type_v1_u128 } from \"../../polyester/type/v1/u128_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file orders/v1/orders_read.proto.\n */\nexport const file_orders_v1_orders_read: GenFile = /*@__PURE__*/\n fileDesc(\"ChtvcmRlcnMvdjEvb3JkZXJzX3JlYWQucHJvdG8SCW9yZGVycy52MSLdAQoLT3JkZXJPcmlnaW4SLAoFc2NvcGUYASABKA4yGy5vcmRlcnMudjEuT3JkZXJPcmlnaW5TY29wZUIAEjMKDHRyaWdnZXJfdHlwZRgCIAEoDjIbLm9yZGVycy52MS5PcmRlclRyaWdnZXJUeXBlQgASFwoKdHJpZ2dlcl9pZBgDIAEoBkgAiAEBEhwKD3BhcmVudF9vcmRlcl9pZBgEIAEoBkgBiAEBEhEKCWNoaWxkX3NlcRgFIAEoDUINCgtfdHJpZ2dlcl9pZEISChBfcGFyZW50X29yZGVyX2lkIuYCChRBdHRhY2hlZFJpc2tMZWdTdGF0ZRI4CgZzdGF0dXMYASABKA4yJi5vcmRlcnMudjEuQXR0YWNoZWRSaXNrTGVnU3RhdGUuU3RhdHVzQgASEwoLYXJtZWRfdHNfbnMYAiABKAQSFgoOdGVybWluYWxfdHNfbnMYAyABKAQSFwoKdHJpZ2dlcl9pZBgEIAEoBkgAiAEBEhsKDmNoaWxkX29yZGVyX2lkGAUgASgGSAGIAQEijgEKBlN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABISCg5OT1RfQ09ORklHVVJFRBABEgsKB0NSRUFURUQQAhIJCgVBUk1FRBADEgsKB1JVTk5JTkcQBBINCglDT01QTEVURUQQBRIMCghDQU5DRUxFRBAGEgoKBkZBSUxFRBAHEgoKBlBBVVNFRBAIQg0KC190cmlnZ2VyX2lkQhEKD19jaGlsZF9vcmRlcl9pZCJ1ChZBdHRhY2hlZFJpc2tUYWtlUHJvZml0EisKBnBvbGljeRgBIAEoCzIbLm9yZGVycy52MS5UYWtlUHJvZml0UG9saWN5Ei4KBXN0YXRlGAIgASgLMh8ub3JkZXJzLnYxLkF0dGFjaGVkUmlza0xlZ1N0YXRlInEKFEF0dGFjaGVkUmlza1N0b3BMb3NzEikKBnBvbGljeRgBIAEoCzIZLm9yZGVycy52MS5TdG9wTG9zc1BvbGljeRIuCgVzdGF0ZRgCIAEoCzIfLm9yZGVycy52MS5BdHRhY2hlZFJpc2tMZWdTdGF0ZSJ5ChhBdHRhY2hlZFJpc2tUcmFpbGluZ1N0b3ASLQoGcG9saWN5GAEgASgLMh0ub3JkZXJzLnYxLlRyYWlsaW5nU3RvcFBvbGljeRIuCgVzdGF0ZRgCIAEoCzIfLm9yZGVycy52MS5BdHRhY2hlZFJpc2tMZWdTdGF0ZSLDAQoMQXR0YWNoZWRSaXNrEjYKC3Rha2VfcHJvZml0GAEgASgLMiEub3JkZXJzLnYxLkF0dGFjaGVkUmlza1Rha2VQcm9maXQSMgoJc3RvcF9sb3NzGAIgASgLMh8ub3JkZXJzLnYxLkF0dGFjaGVkUmlza1N0b3BMb3NzEjoKDXRyYWlsaW5nX3N0b3AYAyABKAsyIy5vcmRlcnMudjEuQXR0YWNoZWRSaXNrVHJhaWxpbmdTdG9wEgsKA29jbxgEIAEoCCKQBwoFT3JkZXISEAoIb3JkZXJfaWQYASABKAYSEQoJc3ltYm9sX2lkGAMgASgNEhkKD2NsaWVudF9vcmRlcl9pZBgEIAEoCUIAEh8KBHNpZGUYBSABKA4yDy5vcmRlcnMudjEuU2lkZUIAEiYKBnN0YXR1cxgGIAEoDjIWLm9yZGVycy52MS5PcmRlclN0YXR1cxIoCgpvcmRlcl90eXBlGAcgASgOMhQub3JkZXJzLnYxLk9yZGVyVHlwZRItCg10aW1lX2luX2ZvcmNlGAggASgOMhYub3JkZXJzLnYxLlRpbWVJbkZvcmNlEkYKGnNlbGZfdHJhZGVfcHJldmVudGlvbl9tb2RlGAkgASgOMiIub3JkZXJzLnYxLlNlbGZUcmFkZVByZXZlbnRpb25Nb2RlEiYKCWZlZV9hc3NldBgKIAEoDjITLm9yZGVycy52MS5GZWVBc3NldBIRCglwb3N0X29ubHkYCyABKAgSFwoPb3JpZ19xdHlfc2NhbGVkGAwgASgDEhYKDmN1bV9xdHlfc2NhbGVkGA0gASgDEhkKEWxlYXZlc19xdHlfc2NhbGVkGBQgASgDEhcKD2F2Z19wcmljZV90aWNrcxgOIAEoAxITCgtwcmljZV90aWNrcxgPIAEoAxIVCg1jcmVhdGVkX3RzX25zGBAgASgEEhYKDnRlcm1pbmFsX3RzX25zGBEgASgEEhwKFHRlcm1pbmFsX3JlYXNvbl9jb2RlGBIgASgNEhcKD3Rlcm1pbmFsX3JlYXNvbhgTIAEoCRIuCg1hdHRhY2hlZF9yaXNrGBUgASgLMhcub3JkZXJzLnYxLkF0dGFjaGVkUmlzaxImCgZvcmlnaW4YFiABKAsyFi5vcmRlcnMudjEuT3JkZXJPcmlnaW4SJQodbWFya2V0X2NsaWVudF9yZWZfcHJpY2VfdGlja3MYFyABKAMSIQoZbWFya2V0X21heF9zbGlwcGFnZV90aWNrcxgYIAEoBRIfChdtYXJrZXRfbWF4X3NsaXBwYWdlX2JwcxgZIAEoBRIRCgd2ZXJzaW9uGBogASgNQgASGAoQYmF0Y2hfcmVxdWVzdF9pZBgbIAEoBhItCiBzdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgcIAEoA0gAiAEBQiMKIV9zdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZCLZAgoJVXNlclRyYWRlEhEKCXN5bWJvbF9pZBgCIAEoDRIQCghtYXRjaF9pZBgDIAEoBBIQCghvcmRlcl9pZBgEIAEoBhIfCgRzaWRlGAUgASgOMg8ub3JkZXJzLnYxLlNpZGVCABIQCghpc19tYWtlchgGIAEoCBITCgtwcmljZV90aWNrcxgHIAEoAxISCgpxdHlfc2NhbGVkGAggASgDEi8KDmZlZV9hbW91bnRfZTE4GAkgASgLMhcucG9seWVzdGVyLnR5cGUudjEuVTEyOBImCglmZWVfYXNzZXQYCiABKA4yEy5vcmRlcnMudjEuRmVlQXNzZXQSOgoZcmVmZXJyYWxfc2hhcmVfYW1vdW50X2UxOBgMIAEoCzIXLnBvbHllc3Rlci50eXBlLnYxLlUxMjgSDQoFdHNfbnMYDSABKAQSFQoNZmVlX2lzX3JlYmF0ZRgOIAEoCCLuAQoNT3JkZXJUcmFuc2ZlchIQCghtYXRjaF9pZBgBIAEoBBIQCghhc3NldF9pZBgCIAEoDRIrCgphbW91bnRfZTE4GAMgASgLMhcucG9seWVzdGVyLnR5cGUudjEuVTEyOBIQCghpc19kZWJpdBgFIAEoCBIuCg10cmFuc2Zlcl9jb2RlGAYgASgOMhcubGVkZ2VyLnYxLlRyYW5zZmVyQ29kZRIsCgxhY2NvdW50X2NvZGUYByABKA4yFi5sZWRnZXIudjEuQWNjb3VudENvZGUSDQoFdHNfbnMYCCABKAQSDQoFdHhfaWQYCSABKAki5AIKFEdldE9wZW5PcmRlcnNSZXF1ZXN0EhwKDXN1YmFjY291bnRfaWQYASABKAZCAEgAiAEBEhMKCXN5bWJvbF9pZBgCIAMoDUIAEh8KBHNpZGUYAyABKA4yDy5vcmRlcnMudjEuU2lkZUIAEhQKBWxpbWl0GAogASgNQgBIAYgBARIUCgpwYWdlX3Rva2VuGAsgASgJQgASIgoVaW5jbHVkZV9hdHRhY2hlZF9yaXNrGAwgASgISAKIAQESKAobaW5jbHVkZV9hdHRhY2hlZF9yaXNrX3N0YXRlGA0gASgISAOIAQESGQoKdHJpZ2dlcl9pZBgOIAEoBkIASASIAQFCEAoOX3N1YmFjY291bnRfaWRCCAoGX2xpbWl0QhgKFl9pbmNsdWRlX2F0dGFjaGVkX3Jpc2tCHgocX2luY2x1ZGVfYXR0YWNoZWRfcmlza19zdGF0ZUINCgtfdHJpZ2dlcl9pZCJUChVHZXRPcGVuT3JkZXJzUmVzcG9uc2USIAoGb3JkZXJzGAEgAygLMhAub3JkZXJzLnYxLk9yZGVyEhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIuIDChZHZXRPcmRlckhpc3RvcnlSZXF1ZXN0EhwKDXN1YmFjY291bnRfaWQYASABKAZCAEgAiAEBEhMKCXN5bWJvbF9pZBgCIAMoDUIAEh8KBHNpZGUYAyABKA4yDy5vcmRlcnMudjEuU2lkZUIAEigKBnN0YXR1cxgEIAEoDjIWLm9yZGVycy52MS5PcmRlclN0YXR1c0IAEhgKC3N0YXJ0X3RzX25zGAogASgESAGIAQESFgoJZW5kX3RzX25zGAsgASgESAKIAQESFAoFbGltaXQYDCABKA1CAEgDiAEBEhQKCnBhZ2VfdG9rZW4YDSABKAlCABIiChVpbmNsdWRlX2F0dGFjaGVkX3Jpc2sYDiABKAhIBIgBARIoChtpbmNsdWRlX2F0dGFjaGVkX3Jpc2tfc3RhdGUYDyABKAhIBYgBARIZCgp0cmlnZ2VyX2lkGBAgASgGQgBIBogBAToAQhAKDl9zdWJhY2NvdW50X2lkQg4KDF9zdGFydF90c19uc0IMCgpfZW5kX3RzX25zQggKBl9saW1pdEIYChZfaW5jbHVkZV9hdHRhY2hlZF9yaXNrQh4KHF9pbmNsdWRlX2F0dGFjaGVkX3Jpc2tfc3RhdGVCDQoLX3RyaWdnZXJfaWQiVgoXR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2USIAoGb3JkZXJzGAEgAygLMhAub3JkZXJzLnYxLk9yZGVyEhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIrYCChRHZXRVc2VyVHJhZGVzUmVxdWVzdBIcCg1zdWJhY2NvdW50X2lkGAEgASgGQgBIAIgBARITCglzeW1ib2xfaWQYAiABKA1CABIfCgRzaWRlGAMgASgOMg8ub3JkZXJzLnYxLlNpZGVCABIYCgtzdGFydF90c19ucxgKIAEoBEgBiAEBEhYKCWVuZF90c19ucxgLIAEoBEgCiAEBEhQKBWxpbWl0GAwgASgNQgBIA4gBARIUCgpwYWdlX3Rva2VuGA0gASgJQgASHQoOYWZ0ZXJfbWF0Y2hfaWQYDiABKARCAEgEiAEBOgBCEAoOX3N1YmFjY291bnRfaWRCDgoMX3N0YXJ0X3RzX25zQgwKCl9lbmRfdHNfbnNCCAoGX2xpbWl0QhEKD19hZnRlcl9tYXRjaF9pZCJYChVHZXRVc2VyVHJhZGVzUmVzcG9uc2USJAoGdHJhZGVzGAEgAygLMhQub3JkZXJzLnYxLlVzZXJUcmFkZRIZCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlCACKFAgoPR2V0T3JkZXJSZXF1ZXN0EhwKDXN1YmFjY291bnRfaWQYASABKAZCAEgBiAEBEhQKCG9yZGVyX2lkGAIgASgGQgBIABIbCg9jbGllbnRfb3JkZXJfaWQYAyABKAlCAEgAEiIKFWluY2x1ZGVfYXR0YWNoZWRfcmlzaxgKIAEoCEgCiAEBEigKG2luY2x1ZGVfYXR0YWNoZWRfcmlza19zdGF0ZRgLIAEoCEgDiAEBQgcKA2tleRIAQhAKDl9zdWJhY2NvdW50X2lkQhgKFl9pbmNsdWRlX2F0dGFjaGVkX3Jpc2tCHgocX2luY2x1ZGVfYXR0YWNoZWRfcmlza19zdGF0ZSKGAQoQR2V0T3JkZXJSZXNwb25zZRIfCgVvcmRlchgBIAEoCzIQLm9yZGVycy52MS5PcmRlchIkCgZ0cmFkZXMYAiADKAsyFC5vcmRlcnMudjEuVXNlclRyYWRlEisKCXRyYW5zZmVycxgDIAMoCzIYLm9yZGVycy52MS5PcmRlclRyYW5zZmVyImoKHEdldEJhdGNoUmVwbGFjZVN0YXR1c1JlcXVlc3QSHAoNc3ViYWNjb3VudF9pZBgBIAEoBkIASACIAQESGgoQYmF0Y2hfcmVxdWVzdF9pZBgCIAEoBkIAQhAKDl9zdWJhY2NvdW50X2lkIuABChZCYXRjaFJlcGxhY2VTdGF0dXNJdGVtEhIKCml0ZW1faW5kZXgYASABKA0SKwoFcGhhc2UYAiABKA4yHC5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlUGhhc2USFAoMb2xkX29yZGVyX2lkGAMgASgGEhwKFHJlcGxhY2VtZW50X29yZGVyX2lkGAQgASgGEiwKDG9yZGVyX3N0YXR1cxgFIAEoDjIWLm9yZGVycy52MS5PcmRlclN0YXR1cxIMCgRjb2RlGAYgASgJEhUKDXVwZGF0ZWRfdHNfbnMYByABKAQijAIKHUdldEJhdGNoUmVwbGFjZVN0YXR1c1Jlc3BvbnNlEhgKEGJhdGNoX3JlcXVlc3RfaWQYASABKAYSQAoQYWRtaXNzaW9uX3N0YXR1cxgCIAEoDjImLm9yZGVycy52MS5CYXRjaFJlcGxhY2VBZG1pc3Npb25TdGF0dXMSMAoFaXRlbXMYAyADKAsyIS5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlU3RhdHVzSXRlbRIWCg5hY2NlcHRlZF9jb3VudBgEIAEoDRIWCg5yZWplY3RlZF9jb3VudBgFIAEoDRIWCg5hY2NlcHRlZF90c19ucxgGIAEoBBIVCg11cGRhdGVkX3RzX25zGAcgASgEKoEBCgtPcmRlclN0YXR1cxIcChhPUkRFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABILCgdQRU5ESU5HEAESEgoOUEVORElOR19DQU5DRUwQAhILCgdXT1JLSU5HEAMSCgoGRklMTEVEEAQSDAoIQ0FOQ0VMRUQQBRIMCghSRUpFQ1RFRBAGKr8BChFCYXRjaFJlcGxhY2VQaGFzZRIjCh9CQVRDSF9SRVBMQUNFX1BIQVNFX1VOU1BFQ0lGSUVEEAASIAocQkFUQ0hfUkVQTEFDRV9QSEFTRV9BRE1JVFRFRBABEh8KG0JBVENIX1JFUExBQ0VfUEhBU0VfV09SS0lORxACEiAKHEJBVENIX1JFUExBQ0VfUEhBU0VfUkVKRUNURUQQAxIgChxCQVRDSF9SRVBMQUNFX1BIQVNFX1RFUk1JTkFMEAQqeQoQT3JkZXJPcmlnaW5TY29wZRIiCh5PUkRFUl9PUklHSU5fU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZESVJFQ1QQARIRCg1BVFRBQ0hFRF9SSVNLEAISFgoSU1RBTkRBTE9ORV9UUklHR0VSEAMSCgoGU1lTVEVNEAQqfwoQT3JkZXJUcmlnZ2VyVHlwZRIiCh5PUkRFUl9UUklHR0VSX1RZUEVfVU5TUEVDSUZJRUQQABINCglTVE9QX0xPU1MQARIPCgtUQUtFX1BST0ZJVBACEhEKDVRSQUlMSU5HX1NUT1AQAxIICgRUV0FQEAQSCgoGTEFEREVSEAUy0AMKEU9yZGVyc1JlYWRTZXJ2aWNlElQKDUdldE9wZW5PcmRlcnMSHy5vcmRlcnMudjEuR2V0T3Blbk9yZGVyc1JlcXVlc3QaIC5vcmRlcnMudjEuR2V0T3Blbk9yZGVyc1Jlc3BvbnNlIgASWgoPR2V0T3JkZXJIaXN0b3J5EiEub3JkZXJzLnYxLkdldE9yZGVySGlzdG9yeVJlcXVlc3QaIi5vcmRlcnMudjEuR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2UiABJUCg1HZXRVc2VyVHJhZGVzEh8ub3JkZXJzLnYxLkdldFVzZXJUcmFkZXNSZXF1ZXN0GiAub3JkZXJzLnYxLkdldFVzZXJUcmFkZXNSZXNwb25zZSIAEkUKCEdldE9yZGVyEhoub3JkZXJzLnYxLkdldE9yZGVyUmVxdWVzdBobLm9yZGVycy52MS5HZXRPcmRlclJlc3BvbnNlIgASbAoVR2V0QmF0Y2hSZXBsYWNlU3RhdHVzEicub3JkZXJzLnYxLkdldEJhdGNoUmVwbGFjZVN0YXR1c1JlcXVlc3QaKC5vcmRlcnMudjEuR2V0QmF0Y2hSZXBsYWNlU3RhdHVzUmVzcG9uc2UiAEJAWj5naXRodWIuY29tL0ZhYnJpYy1MYWJzL3BvbHllc3Rlci1zZGstZ28vZ2VuL29yZGVycy92MTtvcmRlcnN2MWIGcHJvdG8z\", [file_ledger_v1_catalog, file_orders_v1_orders, file_polyester_type_v1_u128]);\n\n/**\n * OrderOrigin explains why an order exists and where it came from.\n *\n * Population rules:\n * - direct/manual orders: scope=DIRECT; trigger fields unset/unspecified.\n * - attached children: scope=ATTACHED_RISK; parent_order_id is set.\n * - standalone trigger children: scope=STANDALONE_TRIGGER.\n * - child_seq is set for multi-child strategies (for example TWAP/LADDER).\n *\n * @generated from message orders.v1.OrderOrigin\n */\nexport type OrderOrigin = Message<\"orders.v1.OrderOrigin\"> & {\n /**\n * Broad class describing how the order was created.\n *\n * @generated from field: orders.v1.OrderOriginScope scope = 1;\n */\n scope: OrderOriginScope;\n\n /**\n * Trigger strategy that created this order, or unspecified for direct orders.\n *\n * @generated from field: orders.v1.OrderTriggerType trigger_type = 2;\n */\n triggerType: OrderTriggerType;\n\n /**\n * Trigger identifier when the order was created by a trigger.\n *\n * @generated from field: optional fixed64 trigger_id = 3;\n */\n triggerId?: bigint | undefined;\n\n /**\n * Parent order ID for attached-risk child orders.\n *\n * @generated from field: optional fixed64 parent_order_id = 4;\n */\n parentOrderId?: bigint | undefined;\n\n /**\n * Child sequence number for multi-child trigger strategies. Zero when not applicable.\n *\n * @generated from field: uint32 child_seq = 5;\n */\n childSeq: number;\n};\n\n/**\n * Describes the message orders.v1.OrderOrigin.\n * Use `create(OrderOriginSchema)` to create a new message.\n */\nexport const OrderOriginSchema: GenMessage<OrderOrigin> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 0);\n\n/**\n * AttachedRiskLegState provides runtime linkage/state for one attached-risk leg.\n *\n * @generated from message orders.v1.AttachedRiskLegState\n */\nexport type AttachedRiskLegState = Message<\"orders.v1.AttachedRiskLegState\"> & {\n /**\n * Current runtime lifecycle status for this attached-risk leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState.Status status = 1;\n */\n status: AttachedRiskLegState_Status;\n\n /**\n * Time the leg was armed, in nanoseconds since epoch (UTC). Zero if not armed.\n *\n * @generated from field: uint64 armed_ts_ns = 2;\n */\n armedTsNs: bigint;\n\n /**\n * Time the leg reached a terminal state, in nanoseconds since epoch (UTC). Zero if not terminal.\n *\n * @generated from field: uint64 terminal_ts_ns = 3;\n */\n terminalTsNs: bigint;\n\n /**\n * Trigger identifier for this attached-risk leg.\n *\n * @generated from field: optional fixed64 trigger_id = 4;\n */\n triggerId?: bigint | undefined;\n\n /**\n * Child order ID created by this leg after it fires.\n *\n * @generated from field: optional fixed64 child_order_id = 5;\n */\n childOrderId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskLegState.\n * Use `create(AttachedRiskLegStateSchema)` to create a new message.\n */\nexport const AttachedRiskLegStateSchema: GenMessage<AttachedRiskLegState> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 1);\n\n/**\n * Runtime lifecycle for an attached-risk trigger leg.\n *\n * @generated from enum orders.v1.AttachedRiskLegState.Status\n */\nexport enum AttachedRiskLegState_Status {\n /**\n * Attached-risk leg status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * No leg configured on the parent order.\n *\n * @generated from enum value: NOT_CONFIGURED = 1;\n */\n NOT_CONFIGURED = 1,\n\n /**\n * Trigger persisted, waiting for admission/arming.\n *\n * @generated from enum value: CREATED = 2;\n */\n CREATED = 2,\n\n /**\n * Trigger is actively armed.\n *\n * @generated from enum value: ARMED = 3;\n */\n ARMED = 3,\n\n /**\n * Trigger is executing runtime work (for example multi-step workflows).\n *\n * @generated from enum value: RUNNING = 4;\n */\n RUNNING = 4,\n\n /**\n * Trigger finished successfully.\n *\n * @generated from enum value: COMPLETED = 5;\n */\n COMPLETED = 5,\n\n /**\n * Trigger was canceled.\n *\n * @generated from enum value: CANCELED = 6;\n */\n CANCELED = 6,\n\n /**\n * Trigger failed.\n *\n * @generated from enum value: FAILED = 7;\n */\n FAILED = 7,\n\n /**\n * Trigger is paused.\n *\n * @generated from enum value: PAUSED = 8;\n */\n PAUSED = 8,\n}\n\n/**\n * Describes the enum orders.v1.AttachedRiskLegState.Status.\n */\nexport const AttachedRiskLegState_StatusSchema: GenEnum<AttachedRiskLegState_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 1, 0);\n\n/**\n * AttachedRiskTakeProfit carries both take-profit config and runtime state.\n *\n * @generated from message orders.v1.AttachedRiskTakeProfit\n */\nexport type AttachedRiskTakeProfit = Message<\"orders.v1.AttachedRiskTakeProfit\"> & {\n /**\n * Take-profit policy configured on the parent order.\n *\n * @generated from field: orders.v1.TakeProfitPolicy policy = 1;\n */\n policy?: TakeProfitPolicy | undefined;\n\n /**\n * Runtime state for the take-profit leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState state = 2;\n */\n state?: AttachedRiskLegState | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskTakeProfit.\n * Use `create(AttachedRiskTakeProfitSchema)` to create a new message.\n */\nexport const AttachedRiskTakeProfitSchema: GenMessage<AttachedRiskTakeProfit> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 2);\n\n/**\n * AttachedRiskStopLoss carries both stop-loss config and runtime state.\n *\n * @generated from message orders.v1.AttachedRiskStopLoss\n */\nexport type AttachedRiskStopLoss = Message<\"orders.v1.AttachedRiskStopLoss\"> & {\n /**\n * Stop-loss policy configured on the parent order.\n *\n * @generated from field: orders.v1.StopLossPolicy policy = 1;\n */\n policy?: StopLossPolicy | undefined;\n\n /**\n * Runtime state for the stop-loss leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState state = 2;\n */\n state?: AttachedRiskLegState | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskStopLoss.\n * Use `create(AttachedRiskStopLossSchema)` to create a new message.\n */\nexport const AttachedRiskStopLossSchema: GenMessage<AttachedRiskStopLoss> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 3);\n\n/**\n * AttachedRiskTrailingStop carries both trailing-stop config and runtime state.\n *\n * @generated from message orders.v1.AttachedRiskTrailingStop\n */\nexport type AttachedRiskTrailingStop = Message<\"orders.v1.AttachedRiskTrailingStop\"> & {\n /**\n * Trailing-stop policy configured on the parent order.\n *\n * @generated from field: orders.v1.TrailingStopPolicy policy = 1;\n */\n policy?: TrailingStopPolicy | undefined;\n\n /**\n * Runtime state for the trailing-stop leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState state = 2;\n */\n state?: AttachedRiskLegState | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskTrailingStop.\n * Use `create(AttachedRiskTrailingStopSchema)` to create a new message.\n */\nexport const AttachedRiskTrailingStopSchema: GenMessage<AttachedRiskTrailingStop> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 4);\n\n/**\n * AttachedRisk is the single parent-side view for attached-risk configuration\n * and runtime status.\n *\n * @generated from message orders.v1.AttachedRisk\n */\nexport type AttachedRisk = Message<\"orders.v1.AttachedRisk\"> & {\n /**\n * Take-profit leg, if configured or if state exists.\n *\n * @generated from field: orders.v1.AttachedRiskTakeProfit take_profit = 1;\n */\n takeProfit?: AttachedRiskTakeProfit | undefined;\n\n /**\n * Stop-loss leg, if configured or if state exists.\n *\n * @generated from field: orders.v1.AttachedRiskStopLoss stop_loss = 2;\n */\n stopLoss?: AttachedRiskStopLoss | undefined;\n\n /**\n * Trailing-stop leg, if configured or if state exists.\n *\n * @generated from field: orders.v1.AttachedRiskTrailingStop trailing_stop = 3;\n */\n trailingStop?: AttachedRiskTrailingStop | undefined;\n\n /**\n * True when the take-profit and stop leg are linked as one-cancels-the-other.\n *\n * @generated from field: bool oco = 4;\n */\n oco: boolean;\n};\n\n/**\n * Describes the message orders.v1.AttachedRisk.\n * Use `create(AttachedRiskSchema)` to create a new message.\n */\nexport const AttachedRiskSchema: GenMessage<AttachedRisk> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 5);\n\n/**\n * Order is the Connect-facing order view with compact binary fields.\n *\n * @generated from message orders.v1.Order\n */\nexport type Order = Message<\"orders.v1.Order\"> & {\n /**\n * Public order identifier as fixed64.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Trading symbol numeric identifier.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n\n /**\n * Client-provided id for idempotency/correlation (may be empty).\n *\n * @generated from field: string client_order_id = 4;\n */\n clientOrderId: string;\n\n /**\n * Order side.\n *\n * @generated from field: orders.v1.Side side = 5;\n */\n side: Side;\n\n /**\n * Current order lifecycle status.\n *\n * @generated from field: orders.v1.OrderStatus status = 6;\n */\n status: OrderStatus;\n\n /**\n * Order type.\n *\n * @generated from field: orders.v1.OrderType order_type = 7;\n */\n orderType: OrderType;\n\n /**\n * Time-in-force policy.\n *\n * @generated from field: orders.v1.TimeInForce time_in_force = 8;\n */\n timeInForce: TimeInForce;\n\n /**\n * Self-trade prevention mode.\n *\n * @generated from field: orders.v1.SelfTradePreventionMode self_trade_prevention_mode = 9;\n */\n selfTradePreventionMode: SelfTradePreventionMode;\n\n /**\n * Fee asset selected for fills.\n *\n * @generated from field: orders.v1.FeeAsset fee_asset = 10;\n */\n feeAsset: FeeAsset;\n\n /**\n * True if the order was submitted as post-only (maker-only).\n *\n * @generated from field: bool post_only = 11;\n */\n postOnly: boolean;\n\n /**\n * Original order quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig for symbol_id.\n *\n * @generated from field: int64 orig_qty_scaled = 12;\n */\n origQtyScaled: bigint;\n\n /**\n * Cumulative filled quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig for symbol_id.\n *\n * @generated from field: int64 cum_qty_scaled = 13;\n */\n cumQtyScaled: bigint;\n\n /**\n * Remaining working quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig for symbol_id. Zero for terminal orders.\n *\n * @generated from field: int64 leaves_qty_scaled = 20;\n */\n leavesQtyScaled: bigint;\n\n /**\n * Average fill price in quote units scaled by 1e6. Zero if no fills.\n *\n * @generated from field: int64 avg_price_ticks = 14;\n */\n avgPriceTicks: bigint;\n\n /**\n * Limit price in quote units scaled by 1e6. Zero for MARKET orders.\n *\n * @generated from field: int64 price_ticks = 15;\n */\n priceTicks: bigint;\n\n /**\n * Creation timestamp in nanoseconds since epoch (UTC).\n *\n * @generated from field: uint64 created_ts_ns = 16;\n */\n createdTsNs: bigint;\n\n /**\n * Terminal timestamp in nanoseconds since epoch (UTC). Zero for open orders.\n *\n * @generated from field: uint64 terminal_ts_ns = 17;\n */\n terminalTsNs: bigint;\n\n /**\n * Terminal reason code for canceled/rejected orders. Zero for non-terminal orders.\n *\n * @generated from field: uint32 terminal_reason_code = 18;\n */\n terminalReasonCode: number;\n\n /**\n * Stable string for terminal_reason_code (e.g. \"POST_ONLY_CROSS\", \"USER_REQUEST\").\n * Empty for non-terminal orders.\n *\n * @generated from field: string terminal_reason = 19;\n */\n terminalReason: string;\n\n /**\n * Attached risk controls + runtime state on the parent order.\n * Empty when no attached risk exists.\n *\n * @generated from field: orders.v1.AttachedRisk attached_risk = 21;\n */\n attachedRisk?: AttachedRisk | undefined;\n\n /**\n * Runtime lineage metadata (why the order exists and what generated it).\n *\n * @generated from field: orders.v1.OrderOrigin origin = 22;\n */\n origin?: OrderOrigin | undefined;\n\n /**\n * Optional client-side reference price used for MARKET slippage protection,\n * in quote units scaled by 1e6.\n *\n * @generated from field: int64 market_client_ref_price_ticks = 23;\n */\n marketClientRefPriceTicks: bigint;\n\n /**\n * Optional MARKET max slippage as a price delta in 1e-6 quote-unit ticks.\n *\n * @generated from field: int32 market_max_slippage_ticks = 24;\n */\n marketMaxSlippageTicks: number;\n\n /**\n * Optional MARKET max slippage in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 market_max_slippage_bps = 25;\n */\n marketMaxSlippageBps: number;\n\n /**\n * Per-order state version. Starts at 1 and increases for every published\n * state change. Use this field to reconcile API and realtime updates.\n *\n * @generated from field: uint32 version = 26;\n */\n version: number;\n\n /**\n * Batch-replace identity that admitted this order. Zero for other origins.\n *\n * @generated from field: fixed64 batch_request_id = 27;\n */\n batchRequestId: 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 = 28;\n */\n submittedMaxQuoteDebitScaled?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.Order.\n * Use `create(OrderSchema)` to create a new message.\n */\nexport const OrderSchema: GenMessage<Order> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 6);\n\n/**\n * UserTrade is the Connect-facing per-user trade fill view.\n *\n * @generated from message orders.v1.UserTrade\n */\nexport type UserTrade = Message<\"orders.v1.UserTrade\"> & {\n /**\n * Trading symbol numeric identifier.\n *\n * @generated from field: uint32 symbol_id = 2;\n */\n symbolId: number;\n\n /**\n * Match identifier (monotonic per symbol).\n *\n * @generated from field: uint64 match_id = 3;\n */\n matchId: bigint;\n\n /**\n * Order identifier as fixed64.\n *\n * @generated from field: fixed64 order_id = 4;\n */\n orderId: bigint;\n\n /**\n * Fill side.\n *\n * @generated from field: orders.v1.Side side = 5;\n */\n side: Side;\n\n /**\n * True if this fill was maker-side.\n *\n * @generated from field: bool is_maker = 6;\n */\n isMaker: boolean;\n\n /**\n * Execution price in quote units scaled by 1e6.\n *\n * @generated from field: int64 price_ticks = 7;\n */\n priceTicks: bigint;\n\n /**\n * Executed quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig for symbol_id.\n *\n * @generated from field: int64 qty_scaled = 8;\n */\n qtyScaled: bigint;\n\n /**\n * Exact fee magnitude in fixed 18-decimal units of fee_asset.\n *\n * @generated from field: polyester.type.v1.U128 fee_amount_e18 = 9;\n */\n feeAmountE18?: U128 | undefined;\n\n /**\n * Fee asset charged or credited for this fill.\n *\n * @generated from field: orders.v1.FeeAsset fee_asset = 10;\n */\n feeAsset: FeeAsset;\n\n /**\n * Exact referral share magnitude in fixed 18-decimal units of fee_asset.\n *\n * @generated from field: polyester.type.v1.U128 referral_share_amount_e18 = 12;\n */\n referralShareAmountE18?: U128 | undefined;\n\n /**\n * Execution timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 ts_ns = 13;\n */\n tsNs: bigint;\n\n /**\n * Whether this fill earned a rebate instead of paying a fee.\n *\n * @generated from field: bool fee_is_rebate = 14;\n */\n feeIsRebate: boolean;\n};\n\n/**\n * Describes the message orders.v1.UserTrade.\n * Use `create(UserTradeSchema)` to create a new message.\n */\nexport const UserTradeSchema: GenMessage<UserTrade> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 7);\n\n/**\n * OrderTransfer is the Connect-facing minimal per-leg transfer view.\n *\n * @generated from message orders.v1.OrderTransfer\n */\nexport type OrderTransfer = Message<\"orders.v1.OrderTransfer\"> & {\n /**\n * Match identifier that linked this transfer to an execution.\n *\n * @generated from field: uint64 match_id = 1;\n */\n matchId: bigint;\n\n /**\n * Asset identifier for the transferred asset.\n *\n * @generated from field: uint32 asset_id = 2;\n */\n assetId: number;\n\n /**\n * Transfer amount at fixed 18-decimal ledger scale.\n *\n * @generated from field: polyester.type.v1.U128 amount_e18 = 3;\n */\n amountE18?: U128 | undefined;\n\n /**\n * True when the transfer debits the account; false when it credits the account.\n *\n * @generated from field: bool is_debit = 5;\n */\n isDebit: boolean;\n\n /**\n * Product reason for this transfer leg.\n *\n * @generated from field: ledger.v1.TransferCode transfer_code = 6;\n */\n transferCode: TransferCode;\n\n /**\n * Account bucket affected by this transfer leg.\n *\n * @generated from field: ledger.v1.AccountCode account_code = 7;\n */\n accountCode: AccountCode;\n\n /**\n * Transfer timestamp in nanoseconds since epoch (UTC).\n *\n * @generated from field: uint64 ts_ns = 8;\n */\n tsNs: bigint;\n\n /**\n * Transfer transaction identifier.\n *\n * @generated from field: string tx_id = 9;\n */\n txId: string;\n};\n\n/**\n * Describes the message orders.v1.OrderTransfer.\n * Use `create(OrderTransferSchema)` to create a new message.\n */\nexport const OrderTransferSchema: GenMessage<OrderTransfer> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 8);\n\n/**\n * GetOpenOrdersRequest lists currently non-terminal orders for an account.\n *\n * @generated from message orders.v1.GetOpenOrdersRequest\n */\nexport type GetOpenOrdersRequest = Message<\"orders.v1.GetOpenOrdersRequest\"> & {\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 filter by symbol_id values. Empty means all symbols.\n *\n * @generated from field: repeated uint32 symbol_id = 2;\n */\n symbolId: number[];\n\n /**\n * Optional side filter.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * Max number of orders to return (1-1000, default 100).\n *\n * @generated from field: optional uint32 limit = 10;\n */\n limit?: number | undefined;\n\n /**\n * Opaque keyset cursor from a previous response. The cursor is exclusive and\n * bound to the authenticated account, sub-account scope, filters, and sort\n * order.\n *\n * @generated from field: string page_token = 11;\n */\n pageToken: string;\n\n /**\n * Include attached-risk policy details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk = 12;\n */\n includeAttachedRisk?: boolean | undefined;\n\n /**\n * Include attached-risk state details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk_state = 13;\n */\n includeAttachedRiskState?: boolean | undefined;\n\n /**\n * Optional trigger identifier. When set, returns only child orders created by\n * that trigger.\n *\n * @generated from field: optional fixed64 trigger_id = 14;\n */\n triggerId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetOpenOrdersRequest.\n * Use `create(GetOpenOrdersRequestSchema)` to create a new message.\n */\nexport const GetOpenOrdersRequestSchema: GenMessage<GetOpenOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 9);\n\n/**\n * GetOpenOrdersResponse returns open orders and an optional next-page cursor.\n *\n * @generated from message orders.v1.GetOpenOrdersResponse\n */\nexport type GetOpenOrdersResponse = Message<\"orders.v1.GetOpenOrdersResponse\"> & {\n /**\n * Open orders ordered newest-first.\n *\n * @generated from field: repeated orders.v1.Order orders = 1;\n */\n orders: Order[];\n\n /**\n * Opaque cursor for the next page. Empty when no more results exist.\n *\n * @generated from field: string next_page_token = 2;\n */\n nextPageToken: string;\n};\n\n/**\n * Describes the message orders.v1.GetOpenOrdersResponse.\n * Use `create(GetOpenOrdersResponseSchema)` to create a new message.\n */\nexport const GetOpenOrdersResponseSchema: GenMessage<GetOpenOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 10);\n\n/**\n * GetOrderHistoryRequest lists terminal orders for an account.\n *\n * @generated from message orders.v1.GetOrderHistoryRequest\n */\nexport type GetOrderHistoryRequest = Message<\"orders.v1.GetOrderHistoryRequest\"> & {\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 filter by symbol_id values. Empty means all symbols.\n *\n * @generated from field: repeated uint32 symbol_id = 2;\n */\n symbolId: number[];\n\n /**\n * Optional side filter.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * Optional status filter.\n *\n * @generated from field: orders.v1.OrderStatus status = 4;\n */\n status: OrderStatus;\n\n /**\n * Inclusive start of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 start_ts_ns = 10;\n */\n startTsNs?: bigint | undefined;\n\n /**\n * Inclusive end of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 end_ts_ns = 11;\n */\n endTsNs?: bigint | undefined;\n\n /**\n * Max number of orders to return (1-1000, default 100).\n *\n * @generated from field: optional uint32 limit = 12;\n */\n limit?: number | undefined;\n\n /**\n * Opaque keyset cursor from a previous response. The cursor is exclusive and\n * bound to the authenticated account, sub-account scope, filters, time range,\n * and sort order.\n *\n * @generated from field: string page_token = 13;\n */\n pageToken: string;\n\n /**\n * Include attached-risk policy details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk = 14;\n */\n includeAttachedRisk?: boolean | undefined;\n\n /**\n * Include attached-risk state details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk_state = 15;\n */\n includeAttachedRiskState?: boolean | undefined;\n\n /**\n * Optional trigger identifier. When set, returns only child orders created by\n * that trigger.\n *\n * @generated from field: optional fixed64 trigger_id = 16;\n */\n triggerId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetOrderHistoryRequest.\n * Use `create(GetOrderHistoryRequestSchema)` to create a new message.\n */\nexport const GetOrderHistoryRequestSchema: GenMessage<GetOrderHistoryRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 11);\n\n/**\n * GetOrderHistoryResponse returns historical orders and an optional next-page cursor.\n *\n * @generated from message orders.v1.GetOrderHistoryResponse\n */\nexport type GetOrderHistoryResponse = Message<\"orders.v1.GetOrderHistoryResponse\"> & {\n /**\n * Historical orders ordered newest-first.\n *\n * @generated from field: repeated orders.v1.Order orders = 1;\n */\n orders: Order[];\n\n /**\n * Opaque cursor for the next page. Empty when no more results exist.\n *\n * @generated from field: string next_page_token = 2;\n */\n nextPageToken: string;\n};\n\n/**\n * Describes the message orders.v1.GetOrderHistoryResponse.\n * Use `create(GetOrderHistoryResponseSchema)` to create a new message.\n */\nexport const GetOrderHistoryResponseSchema: GenMessage<GetOrderHistoryResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 12);\n\n/**\n * GetUserTradesRequest lists trade fills for an account.\n *\n * @generated from message orders.v1.GetUserTradesRequest\n */\nexport type GetUserTradesRequest = Message<\"orders.v1.GetUserTradesRequest\"> & {\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 filter by symbol_id.\n *\n * @generated from field: uint32 symbol_id = 2;\n */\n symbolId: number;\n\n /**\n * Optional side filter.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * Inclusive start of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 start_ts_ns = 10;\n */\n startTsNs?: bigint | undefined;\n\n /**\n * Inclusive end of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 end_ts_ns = 11;\n */\n endTsNs?: bigint | undefined;\n\n /**\n * Max number of trades to return (1-1000, default 100).\n *\n * @generated from field: optional uint32 limit = 12;\n */\n limit?: number | undefined;\n\n /**\n * Opaque keyset cursor from a previous response. The cursor is exclusive and\n * bound to the authenticated account, sub-account scope, filters, time range,\n * and sort order.\n *\n * @generated from field: string page_token = 13;\n */\n pageToken: string;\n\n /**\n * Return only durable fills whose per-symbol match ID is greater than this\n * value. Subscribe to the execution WebSocket before calling this method and\n * de-duplicate overlapping results by (symbol_id, match_id, order_id).\n *\n * @generated from field: optional uint64 after_match_id = 14;\n */\n afterMatchId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetUserTradesRequest.\n * Use `create(GetUserTradesRequestSchema)` to create a new message.\n */\nexport const GetUserTradesRequestSchema: GenMessage<GetUserTradesRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 13);\n\n/**\n * GetUserTradesResponse returns user trade fills and an optional next-page cursor.\n *\n * @generated from message orders.v1.GetUserTradesResponse\n */\nexport type GetUserTradesResponse = Message<\"orders.v1.GetUserTradesResponse\"> & {\n /**\n * Trades ordered newest-first.\n *\n * @generated from field: repeated orders.v1.UserTrade trades = 1;\n */\n trades: UserTrade[];\n\n /**\n * Opaque cursor for the next page. Empty when no more results exist.\n *\n * @generated from field: string next_page_token = 2;\n */\n nextPageToken: string;\n};\n\n/**\n * Describes the message orders.v1.GetUserTradesResponse.\n * Use `create(GetUserTradesResponseSchema)` to create a new message.\n */\nexport const GetUserTradesResponseSchema: GenMessage<GetUserTradesResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 14);\n\n/**\n * GetOrderRequest retrieves a single order and related execution context.\n *\n * @generated from message orders.v1.GetOrderRequest\n */\nexport type GetOrderRequest = Message<\"orders.v1.GetOrderRequest\"> & {\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 lookup key. Exactly one identifier is required.\n *\n * @generated from oneof orders.v1.GetOrderRequest.key\n */\n key: {\n /**\n * Public order ID (base58-encoded fixed64 on REST).\n *\n * @generated from field: fixed64 order_id = 2;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID. When provided, server resolves latest matching order for the 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 * Include attached-risk policy details in response.order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk = 10;\n */\n includeAttachedRisk?: boolean | undefined;\n\n /**\n * Include attached-risk state details in response.order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk_state = 11;\n */\n includeAttachedRiskState?: boolean | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetOrderRequest.\n * Use `create(GetOrderRequestSchema)` to create a new message.\n */\nexport const GetOrderRequestSchema: GenMessage<GetOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 15);\n\n/**\n * GetOrderResponse returns the order plus related trades and transfer legs.\n *\n * @generated from message orders.v1.GetOrderResponse\n */\nexport type GetOrderResponse = Message<\"orders.v1.GetOrderResponse\"> & {\n /**\n * Requested order, if found.\n *\n * @generated from field: orders.v1.Order order = 1;\n */\n order?: Order | undefined;\n\n /**\n * User trade fills for the order, ordered newest-first.\n *\n * @generated from field: repeated orders.v1.UserTrade trades = 2;\n */\n trades: UserTrade[];\n\n /**\n * Transfer legs linked to the order's matches, ordered newest-first.\n *\n * @generated from field: repeated orders.v1.OrderTransfer transfers = 3;\n */\n transfers: OrderTransfer[];\n};\n\n/**\n * Describes the message orders.v1.GetOrderResponse.\n * Use `create(GetOrderResponseSchema)` to create a new message.\n */\nexport const GetOrderResponseSchema: GenMessage<GetOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 16);\n\n/**\n * GetBatchReplaceStatusRequest retrieves one admitted batch by server identity.\n *\n * @generated from message orders.v1.GetBatchReplaceStatusRequest\n */\nexport type GetBatchReplaceStatusRequest = Message<\"orders.v1.GetBatchReplaceStatusRequest\"> & {\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 * Server-issued batch identity from BatchReplaceOrders.\n *\n * @generated from field: fixed64 batch_request_id = 2;\n */\n batchRequestId: bigint;\n};\n\n/**\n * Describes the message orders.v1.GetBatchReplaceStatusRequest.\n * Use `create(GetBatchReplaceStatusRequestSchema)` to create a new message.\n */\nexport const GetBatchReplaceStatusRequestSchema: GenMessage<GetBatchReplaceStatusRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 17);\n\n/**\n * BatchReplaceStatusItem is the index-stable execution status for one replacement.\n *\n * @generated from message orders.v1.BatchReplaceStatusItem\n */\nexport type BatchReplaceStatusItem = Message<\"orders.v1.BatchReplaceStatusItem\"> & {\n /**\n * Zero-based item index from the write request.\n *\n * @generated from field: uint32 item_index = 1;\n */\n itemIndex: number;\n\n /**\n * Current recoverable phase.\n *\n * @generated from field: orders.v1.BatchReplacePhase phase = 2;\n */\n phase: BatchReplacePhase;\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 * Current successor order status when available.\n *\n * @generated from field: orders.v1.OrderStatus order_status = 5;\n */\n orderStatus: OrderStatus;\n\n /**\n * Stable rejection or terminal error code. Empty when none.\n *\n * @generated from field: string code = 6;\n */\n code: string;\n\n /**\n * Latest status timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 updated_ts_ns = 7;\n */\n updatedTsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceStatusItem.\n * Use `create(BatchReplaceStatusItemSchema)` to create a new message.\n */\nexport const BatchReplaceStatusItemSchema: GenMessage<BatchReplaceStatusItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 18);\n\n/**\n * GetBatchReplaceStatusResponse returns durable batch and per-item finality.\n *\n * @generated from message orders.v1.GetBatchReplaceStatusResponse\n */\nexport type GetBatchReplaceStatusResponse = Message<\"orders.v1.GetBatchReplaceStatusResponse\"> & {\n /**\n * Server-issued batch identity.\n *\n * @generated from field: fixed64 batch_request_id = 1;\n */\n batchRequestId: bigint;\n\n /**\n * Aggregate admission status returned by the write receipt.\n *\n * @generated from field: orders.v1.BatchReplaceAdmissionStatus admission_status = 2;\n */\n admissionStatus: BatchReplaceAdmissionStatus;\n\n /**\n * Per-item statuses in request order.\n *\n * @generated from field: repeated orders.v1.BatchReplaceStatusItem items = 3;\n */\n items: BatchReplaceStatusItem[];\n\n /**\n * Number of admitted items.\n *\n * @generated from field: uint32 accepted_count = 4;\n */\n acceptedCount: number;\n\n /**\n * Number of rejected items.\n *\n * @generated from field: uint32 rejected_count = 5;\n */\n rejectedCount: number;\n\n /**\n * Server acceptance timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 accepted_ts_ns = 6;\n */\n acceptedTsNs: bigint;\n\n /**\n * Latest batch status timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 updated_ts_ns = 7;\n */\n updatedTsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.GetBatchReplaceStatusResponse.\n * Use `create(GetBatchReplaceStatusResponseSchema)` to create a new message.\n */\nexport const GetBatchReplaceStatusResponseSchema: GenMessage<GetBatchReplaceStatusResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 19);\n\n/**\n * OrderStatus is specific to the read API (write API uses simple \"accepted\" status string).\n *\n * @generated from enum orders.v1.OrderStatus\n */\nexport enum OrderStatus {\n /**\n * Order status was not provided.\n *\n * @generated from enum value: ORDER_STATUS_UNSPECIFIED = 0;\n */\n ORDER_STATUS_UNSPECIFIED = 0,\n\n /**\n * Accepted and submitted for execution, but not yet confirmed as working.\n *\n * @generated from enum value: PENDING = 1;\n */\n PENDING = 1,\n\n /**\n * Cancel requested; may still be working until cancel is confirmed.\n *\n * @generated from enum value: PENDING_CANCEL = 2;\n */\n PENDING_CANCEL = 2,\n\n /**\n * Accepted and actively working (resting and/or matching).\n *\n * @generated from enum value: WORKING = 3;\n */\n WORKING = 3,\n\n /**\n * Fully filled (no remaining quantity).\n *\n * @generated from enum value: FILLED = 4;\n */\n FILLED = 4,\n\n /**\n * Canceled and no longer working.\n *\n * @generated from enum value: CANCELED = 5;\n */\n CANCELED = 5,\n\n /**\n * Rejected and never entered the working state.\n *\n * @generated from enum value: REJECTED = 6;\n */\n REJECTED = 6,\n}\n\n/**\n * Describes the enum orders.v1.OrderStatus.\n */\nexport const OrderStatusSchema: GenEnum<OrderStatus> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 0);\n\n/**\n * BatchReplacePhase is the recoverable execution phase for one replacement.\n *\n * @generated from enum orders.v1.BatchReplacePhase\n */\nexport enum BatchReplacePhase {\n /**\n * Phase is unavailable.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_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_PHASE_ADMITTED = 1;\n */\n ADMITTED = 1,\n\n /**\n * The successor order is active.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_WORKING = 2;\n */\n WORKING = 2,\n\n /**\n * The replacement was rejected.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_REJECTED = 3;\n */\n REJECTED = 3,\n\n /**\n * The successor reached a terminal order state.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_TERMINAL = 4;\n */\n TERMINAL = 4,\n}\n\n/**\n * Describes the enum orders.v1.BatchReplacePhase.\n */\nexport const BatchReplacePhaseSchema: GenEnum<BatchReplacePhase> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 1);\n\n/**\n * OrderOriginScope captures broad origin classes for an order.\n *\n * @generated from enum orders.v1.OrderOriginScope\n */\nexport enum OrderOriginScope {\n /**\n * Order origin scope was not provided.\n *\n * @generated from enum value: ORDER_ORIGIN_SCOPE_UNSPECIFIED = 0;\n */\n ORDER_ORIGIN_SCOPE_UNSPECIFIED = 0,\n\n /**\n * User/manual order (non-trigger path).\n *\n * @generated from enum value: DIRECT = 1;\n */\n DIRECT = 1,\n\n /**\n * Child generated by attached TP/SL/Trailing risk on a parent order.\n *\n * @generated from enum value: ATTACHED_RISK = 2;\n */\n ATTACHED_RISK = 2,\n\n /**\n * Child generated by a standalone trigger (STOP/TWAP/LADDER...).\n *\n * @generated from enum value: STANDALONE_TRIGGER = 3;\n */\n STANDALONE_TRIGGER = 3,\n\n /**\n * System-managed automation, such as liquidation or account-protection actions.\n *\n * @generated from enum value: SYSTEM = 4;\n */\n SYSTEM = 4,\n}\n\n/**\n * Describes the enum orders.v1.OrderOriginScope.\n */\nexport const OrderOriginScopeSchema: GenEnum<OrderOriginScope> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 2);\n\n/**\n * OrderTriggerType captures the trigger strategy that generated the order.\n *\n * @generated from enum orders.v1.OrderTriggerType\n */\nexport enum OrderTriggerType {\n /**\n * Trigger type was not provided or the order was not generated by a trigger.\n *\n * @generated from enum value: ORDER_TRIGGER_TYPE_UNSPECIFIED = 0;\n */\n ORDER_TRIGGER_TYPE_UNSPECIFIED = 0,\n\n /**\n * Order was generated by a stop-loss trigger.\n *\n * @generated from enum value: STOP_LOSS = 1;\n */\n STOP_LOSS = 1,\n\n /**\n * Order was generated by a take-profit trigger.\n *\n * @generated from enum value: TAKE_PROFIT = 2;\n */\n TAKE_PROFIT = 2,\n\n /**\n * Order was generated by a trailing-stop trigger.\n *\n * @generated from enum value: TRAILING_STOP = 3;\n */\n TRAILING_STOP = 3,\n\n /**\n * Order was generated by a time-weighted execution trigger.\n *\n * @generated from enum value: TWAP = 4;\n */\n TWAP = 4,\n\n /**\n * Order was generated by a ladder execution trigger.\n *\n * @generated from enum value: LADDER = 5;\n */\n LADDER = 5,\n}\n\n/**\n * Describes the enum orders.v1.OrderTriggerType.\n */\nexport const OrderTriggerTypeSchema: GenEnum<OrderTriggerType> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 3);\n\n/**\n * @generated from service orders.v1.OrdersReadService\n */\nexport const OrdersReadService: GenService<{\n /**\n * Retrieve non-terminal orders for an account.\n * Supports optional subaccount, trigger, symbol, and side filters with cursor pagination.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetOpenOrders\n */\n getOpenOrders: {\n methodKind: \"unary\";\n input: typeof GetOpenOrdersRequestSchema;\n output: typeof GetOpenOrdersResponseSchema;\n },\n /**\n * Retrieve terminal order history for an account.\n * Supports optional subaccount, trigger, symbol, side, status, and time-range filters with cursor pagination.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetOrderHistory\n */\n getOrderHistory: {\n methodKind: \"unary\";\n input: typeof GetOrderHistoryRequestSchema;\n output: typeof GetOrderHistoryResponseSchema;\n },\n /**\n * Retrieve per-user trade fills for an account.\n * Supports optional subaccount, symbol, side, and time-range filters with cursor pagination.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetUserTrades\n */\n getUserTrades: {\n methodKind: \"unary\";\n input: typeof GetUserTradesRequestSchema;\n output: typeof GetUserTradesResponseSchema;\n },\n /**\n * Retrieve a single order by order ID or client order ID, including related user trades and ledger transfers.\n * Recent accepted orders may wait briefly for read availability; retry UNAVAILABLE with the same lookup key.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetOrder\n */\n getOrder: {\n methodKind: \"unary\";\n input: typeof GetOrderRequestSchema;\n output: typeof GetOrderResponseSchema;\n },\n /**\n * Retrieve durable execution status for one admitted batch replacement.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetBatchReplaceStatus\n */\n getBatchReplaceStatus: {\n methodKind: \"unary\";\n input: typeof GetBatchReplaceStatusRequestSchema;\n output: typeof GetBatchReplaceStatusResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_orders_v1_orders_read, 0);\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"orders_read_pb.js","names":[],"sources":["../../../../src/gen/orders/v1/orders_read_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_read.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 { AccountCode, TransferCode } from \"../../ledger/v1/catalog_pb.js\";\nimport { file_ledger_v1_catalog } from \"../../ledger/v1/catalog_pb.js\";\nimport type { BatchReplaceAdmissionStatus, FeeAsset, OrderType, SelfTradePreventionMode, Side, StopLossPolicy, TakeProfitPolicy, TimeInForce, TrailingStopPolicy } from \"./orders_pb.js\";\nimport { file_orders_v1_orders } from \"./orders_pb.js\";\nimport type { U128 } from \"../../polyester/type/v1/u128_pb.js\";\nimport { file_polyester_type_v1_u128 } from \"../../polyester/type/v1/u128_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file orders/v1/orders_read.proto.\n */\nexport const file_orders_v1_orders_read: GenFile = /*@__PURE__*/\n fileDesc(\"ChtvcmRlcnMvdjEvb3JkZXJzX3JlYWQucHJvdG8SCW9yZGVycy52MSLdAQoLT3JkZXJPcmlnaW4SLAoFc2NvcGUYASABKA4yGy5vcmRlcnMudjEuT3JkZXJPcmlnaW5TY29wZUIAEjMKDHRyaWdnZXJfdHlwZRgCIAEoDjIbLm9yZGVycy52MS5PcmRlclRyaWdnZXJUeXBlQgASFwoKdHJpZ2dlcl9pZBgDIAEoBkgAiAEBEhwKD3BhcmVudF9vcmRlcl9pZBgEIAEoBkgBiAEBEhEKCWNoaWxkX3NlcRgFIAEoDUINCgtfdHJpZ2dlcl9pZEISChBfcGFyZW50X29yZGVyX2lkIuYCChRBdHRhY2hlZFJpc2tMZWdTdGF0ZRI4CgZzdGF0dXMYASABKA4yJi5vcmRlcnMudjEuQXR0YWNoZWRSaXNrTGVnU3RhdGUuU3RhdHVzQgASEwoLYXJtZWRfdHNfbnMYAiABKAQSFgoOdGVybWluYWxfdHNfbnMYAyABKAQSFwoKdHJpZ2dlcl9pZBgEIAEoBkgAiAEBEhsKDmNoaWxkX29yZGVyX2lkGAUgASgGSAGIAQEijgEKBlN0YXR1cxIWChJTVEFUVVNfVU5TUEVDSUZJRUQQABISCg5OT1RfQ09ORklHVVJFRBABEgsKB0NSRUFURUQQAhIJCgVBUk1FRBADEgsKB1JVTk5JTkcQBBINCglDT01QTEVURUQQBRIMCghDQU5DRUxFRBAGEgoKBkZBSUxFRBAHEgoKBlBBVVNFRBAIQg0KC190cmlnZ2VyX2lkQhEKD19jaGlsZF9vcmRlcl9pZCJ1ChZBdHRhY2hlZFJpc2tUYWtlUHJvZml0EisKBnBvbGljeRgBIAEoCzIbLm9yZGVycy52MS5UYWtlUHJvZml0UG9saWN5Ei4KBXN0YXRlGAIgASgLMh8ub3JkZXJzLnYxLkF0dGFjaGVkUmlza0xlZ1N0YXRlInEKFEF0dGFjaGVkUmlza1N0b3BMb3NzEikKBnBvbGljeRgBIAEoCzIZLm9yZGVycy52MS5TdG9wTG9zc1BvbGljeRIuCgVzdGF0ZRgCIAEoCzIfLm9yZGVycy52MS5BdHRhY2hlZFJpc2tMZWdTdGF0ZSJ5ChhBdHRhY2hlZFJpc2tUcmFpbGluZ1N0b3ASLQoGcG9saWN5GAEgASgLMh0ub3JkZXJzLnYxLlRyYWlsaW5nU3RvcFBvbGljeRIuCgVzdGF0ZRgCIAEoCzIfLm9yZGVycy52MS5BdHRhY2hlZFJpc2tMZWdTdGF0ZSLDAQoMQXR0YWNoZWRSaXNrEjYKC3Rha2VfcHJvZml0GAEgASgLMiEub3JkZXJzLnYxLkF0dGFjaGVkUmlza1Rha2VQcm9maXQSMgoJc3RvcF9sb3NzGAIgASgLMh8ub3JkZXJzLnYxLkF0dGFjaGVkUmlza1N0b3BMb3NzEjoKDXRyYWlsaW5nX3N0b3AYAyABKAsyIy5vcmRlcnMudjEuQXR0YWNoZWRSaXNrVHJhaWxpbmdTdG9wEgsKA29jbxgEIAEoCCKQBwoFT3JkZXISEAoIb3JkZXJfaWQYASABKAYSEQoJc3ltYm9sX2lkGAMgASgNEhkKD2NsaWVudF9vcmRlcl9pZBgEIAEoCUIAEh8KBHNpZGUYBSABKA4yDy5vcmRlcnMudjEuU2lkZUIAEiYKBnN0YXR1cxgGIAEoDjIWLm9yZGVycy52MS5PcmRlclN0YXR1cxIoCgpvcmRlcl90eXBlGAcgASgOMhQub3JkZXJzLnYxLk9yZGVyVHlwZRItCg10aW1lX2luX2ZvcmNlGAggASgOMhYub3JkZXJzLnYxLlRpbWVJbkZvcmNlEkYKGnNlbGZfdHJhZGVfcHJldmVudGlvbl9tb2RlGAkgASgOMiIub3JkZXJzLnYxLlNlbGZUcmFkZVByZXZlbnRpb25Nb2RlEiYKCWZlZV9hc3NldBgKIAEoDjITLm9yZGVycy52MS5GZWVBc3NldBIRCglwb3N0X29ubHkYCyABKAgSFwoPb3JpZ19xdHlfc2NhbGVkGAwgASgDEhYKDmN1bV9xdHlfc2NhbGVkGA0gASgDEhkKEWxlYXZlc19xdHlfc2NhbGVkGBQgASgDEhcKD2F2Z19wcmljZV90aWNrcxgOIAEoAxITCgtwcmljZV90aWNrcxgPIAEoAxIVCg1jcmVhdGVkX3RzX25zGBAgASgEEhYKDnRlcm1pbmFsX3RzX25zGBEgASgEEhwKFHRlcm1pbmFsX3JlYXNvbl9jb2RlGBIgASgNEhcKD3Rlcm1pbmFsX3JlYXNvbhgTIAEoCRIuCg1hdHRhY2hlZF9yaXNrGBUgASgLMhcub3JkZXJzLnYxLkF0dGFjaGVkUmlzaxImCgZvcmlnaW4YFiABKAsyFi5vcmRlcnMudjEuT3JkZXJPcmlnaW4SJQodbWFya2V0X2NsaWVudF9yZWZfcHJpY2VfdGlja3MYFyABKAMSIQoZbWFya2V0X21heF9zbGlwcGFnZV90aWNrcxgYIAEoBRIfChdtYXJrZXRfbWF4X3NsaXBwYWdlX2JwcxgZIAEoBRIRCgd2ZXJzaW9uGBogASgNQgASGAoQYmF0Y2hfcmVxdWVzdF9pZBgbIAEoBhItCiBzdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgcIAEoA0gAiAEBQiMKIV9zdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZCLZAgoJVXNlclRyYWRlEhEKCXN5bWJvbF9pZBgCIAEoDRIQCghtYXRjaF9pZBgDIAEoBBIQCghvcmRlcl9pZBgEIAEoBhIfCgRzaWRlGAUgASgOMg8ub3JkZXJzLnYxLlNpZGVCABIQCghpc19tYWtlchgGIAEoCBITCgtwcmljZV90aWNrcxgHIAEoAxISCgpxdHlfc2NhbGVkGAggASgDEi8KDmZlZV9hbW91bnRfZTE4GAkgASgLMhcucG9seWVzdGVyLnR5cGUudjEuVTEyOBImCglmZWVfYXNzZXQYCiABKA4yEy5vcmRlcnMudjEuRmVlQXNzZXQSOgoZcmVmZXJyYWxfc2hhcmVfYW1vdW50X2UxOBgMIAEoCzIXLnBvbHllc3Rlci50eXBlLnYxLlUxMjgSDQoFdHNfbnMYDSABKAQSFQoNZmVlX2lzX3JlYmF0ZRgOIAEoCCLuAQoNT3JkZXJUcmFuc2ZlchIQCghtYXRjaF9pZBgBIAEoBBIQCghhc3NldF9pZBgCIAEoDRIrCgphbW91bnRfZTE4GAMgASgLMhcucG9seWVzdGVyLnR5cGUudjEuVTEyOBIQCghpc19kZWJpdBgFIAEoCBIuCg10cmFuc2Zlcl9jb2RlGAYgASgOMhcubGVkZ2VyLnYxLlRyYW5zZmVyQ29kZRIsCgxhY2NvdW50X2NvZGUYByABKA4yFi5sZWRnZXIudjEuQWNjb3VudENvZGUSDQoFdHNfbnMYCCABKAQSDQoFdHhfaWQYCSABKAki5AIKFEdldE9wZW5PcmRlcnNSZXF1ZXN0EhwKDXN1YmFjY291bnRfaWQYASABKAZCAEgAiAEBEhMKCXN5bWJvbF9pZBgCIAMoDUIAEh8KBHNpZGUYAyABKA4yDy5vcmRlcnMudjEuU2lkZUIAEhQKBWxpbWl0GAogASgNQgBIAYgBARIUCgpwYWdlX3Rva2VuGAsgASgJQgASIgoVaW5jbHVkZV9hdHRhY2hlZF9yaXNrGAwgASgISAKIAQESKAobaW5jbHVkZV9hdHRhY2hlZF9yaXNrX3N0YXRlGA0gASgISAOIAQESGQoKdHJpZ2dlcl9pZBgOIAEoBkIASASIAQFCEAoOX3N1YmFjY291bnRfaWRCCAoGX2xpbWl0QhgKFl9pbmNsdWRlX2F0dGFjaGVkX3Jpc2tCHgocX2luY2x1ZGVfYXR0YWNoZWRfcmlza19zdGF0ZUINCgtfdHJpZ2dlcl9pZCJUChVHZXRPcGVuT3JkZXJzUmVzcG9uc2USIAoGb3JkZXJzGAEgAygLMhAub3JkZXJzLnYxLk9yZGVyEhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIuIDChZHZXRPcmRlckhpc3RvcnlSZXF1ZXN0EhwKDXN1YmFjY291bnRfaWQYASABKAZCAEgAiAEBEhMKCXN5bWJvbF9pZBgCIAMoDUIAEh8KBHNpZGUYAyABKA4yDy5vcmRlcnMudjEuU2lkZUIAEigKBnN0YXR1cxgEIAEoDjIWLm9yZGVycy52MS5PcmRlclN0YXR1c0IAEhgKC3N0YXJ0X3RzX25zGAogASgESAGIAQESFgoJZW5kX3RzX25zGAsgASgESAKIAQESFAoFbGltaXQYDCABKA1CAEgDiAEBEhQKCnBhZ2VfdG9rZW4YDSABKAlCABIiChVpbmNsdWRlX2F0dGFjaGVkX3Jpc2sYDiABKAhIBIgBARIoChtpbmNsdWRlX2F0dGFjaGVkX3Jpc2tfc3RhdGUYDyABKAhIBYgBARIZCgp0cmlnZ2VyX2lkGBAgASgGQgBIBogBAToAQhAKDl9zdWJhY2NvdW50X2lkQg4KDF9zdGFydF90c19uc0IMCgpfZW5kX3RzX25zQggKBl9saW1pdEIYChZfaW5jbHVkZV9hdHRhY2hlZF9yaXNrQh4KHF9pbmNsdWRlX2F0dGFjaGVkX3Jpc2tfc3RhdGVCDQoLX3RyaWdnZXJfaWQiVgoXR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2USIAoGb3JkZXJzGAEgAygLMhAub3JkZXJzLnYxLk9yZGVyEhkKD25leHRfcGFnZV90b2tlbhgCIAEoCUIAIrYCChRHZXRVc2VyVHJhZGVzUmVxdWVzdBIcCg1zdWJhY2NvdW50X2lkGAEgASgGQgBIAIgBARITCglzeW1ib2xfaWQYAiABKA1CABIfCgRzaWRlGAMgASgOMg8ub3JkZXJzLnYxLlNpZGVCABIYCgtzdGFydF90c19ucxgKIAEoBEgBiAEBEhYKCWVuZF90c19ucxgLIAEoBEgCiAEBEhQKBWxpbWl0GAwgASgNQgBIA4gBARIUCgpwYWdlX3Rva2VuGA0gASgJQgASHQoOYWZ0ZXJfbWF0Y2hfaWQYDiABKARCAEgEiAEBOgBCEAoOX3N1YmFjY291bnRfaWRCDgoMX3N0YXJ0X3RzX25zQgwKCl9lbmRfdHNfbnNCCAoGX2xpbWl0QhEKD19hZnRlcl9tYXRjaF9pZCJYChVHZXRVc2VyVHJhZGVzUmVzcG9uc2USJAoGdHJhZGVzGAEgAygLMhQub3JkZXJzLnYxLlVzZXJUcmFkZRIZCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAlCACKFAgoPR2V0T3JkZXJSZXF1ZXN0EhwKDXN1YmFjY291bnRfaWQYASABKAZCAEgBiAEBEhQKCG9yZGVyX2lkGAIgASgGQgBIABIbCg9jbGllbnRfb3JkZXJfaWQYAyABKAlCAEgAEiIKFWluY2x1ZGVfYXR0YWNoZWRfcmlzaxgKIAEoCEgCiAEBEigKG2luY2x1ZGVfYXR0YWNoZWRfcmlza19zdGF0ZRgLIAEoCEgDiAEBQgcKA2tleRIAQhAKDl9zdWJhY2NvdW50X2lkQhgKFl9pbmNsdWRlX2F0dGFjaGVkX3Jpc2tCHgocX2luY2x1ZGVfYXR0YWNoZWRfcmlza19zdGF0ZSKGAQoQR2V0T3JkZXJSZXNwb25zZRIfCgVvcmRlchgBIAEoCzIQLm9yZGVycy52MS5PcmRlchIkCgZ0cmFkZXMYAiADKAsyFC5vcmRlcnMudjEuVXNlclRyYWRlEisKCXRyYW5zZmVycxgDIAMoCzIYLm9yZGVycy52MS5PcmRlclRyYW5zZmVyImoKHEdldEJhdGNoUmVwbGFjZVN0YXR1c1JlcXVlc3QSHAoNc3ViYWNjb3VudF9pZBgBIAEoBkIASACIAQESGgoQYmF0Y2hfcmVxdWVzdF9pZBgCIAEoBkIAQhAKDl9zdWJhY2NvdW50X2lkIuABChZCYXRjaFJlcGxhY2VTdGF0dXNJdGVtEhIKCml0ZW1faW5kZXgYASABKA0SKwoFcGhhc2UYAiABKA4yHC5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlUGhhc2USFAoMb2xkX29yZGVyX2lkGAMgASgGEhwKFHJlcGxhY2VtZW50X29yZGVyX2lkGAQgASgGEiwKDG9yZGVyX3N0YXR1cxgFIAEoDjIWLm9yZGVycy52MS5PcmRlclN0YXR1cxIMCgRjb2RlGAYgASgJEhUKDXVwZGF0ZWRfdHNfbnMYByABKAQijAIKHUdldEJhdGNoUmVwbGFjZVN0YXR1c1Jlc3BvbnNlEhgKEGJhdGNoX3JlcXVlc3RfaWQYASABKAYSQAoQYWRtaXNzaW9uX3N0YXR1cxgCIAEoDjImLm9yZGVycy52MS5CYXRjaFJlcGxhY2VBZG1pc3Npb25TdGF0dXMSMAoFaXRlbXMYAyADKAsyIS5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlU3RhdHVzSXRlbRIWCg5hY2NlcHRlZF9jb3VudBgEIAEoDRIWCg5yZWplY3RlZF9jb3VudBgFIAEoDRIWCg5hY2NlcHRlZF90c19ucxgGIAEoBBIVCg11cGRhdGVkX3RzX25zGAcgASgEKoEBCgtPcmRlclN0YXR1cxIcChhPUkRFUl9TVEFUVVNfVU5TUEVDSUZJRUQQABILCgdQRU5ESU5HEAESEgoOUEVORElOR19DQU5DRUwQAhILCgdXT1JLSU5HEAMSCgoGRklMTEVEEAQSDAoIQ0FOQ0VMRUQQBRIMCghSRUpFQ1RFRBAGKr8BChFCYXRjaFJlcGxhY2VQaGFzZRIjCh9CQVRDSF9SRVBMQUNFX1BIQVNFX1VOU1BFQ0lGSUVEEAASIAocQkFUQ0hfUkVQTEFDRV9QSEFTRV9BRE1JVFRFRBABEh8KG0JBVENIX1JFUExBQ0VfUEhBU0VfV09SS0lORxACEiAKHEJBVENIX1JFUExBQ0VfUEhBU0VfUkVKRUNURUQQAxIgChxCQVRDSF9SRVBMQUNFX1BIQVNFX1RFUk1JTkFMEAQqeQoQT3JkZXJPcmlnaW5TY29wZRIiCh5PUkRFUl9PUklHSU5fU0NPUEVfVU5TUEVDSUZJRUQQABIKCgZESVJFQ1QQARIRCg1BVFRBQ0hFRF9SSVNLEAISFgoSU1RBTkRBTE9ORV9UUklHR0VSEAMSCgoGU1lTVEVNEAQqfwoQT3JkZXJUcmlnZ2VyVHlwZRIiCh5PUkRFUl9UUklHR0VSX1RZUEVfVU5TUEVDSUZJRUQQABINCglTVE9QX0xPU1MQARIPCgtUQUtFX1BST0ZJVBACEhEKDVRSQUlMSU5HX1NUT1AQAxIICgRUV0FQEAQSCgoGTEFEREVSEAUy0AMKEU9yZGVyc1JlYWRTZXJ2aWNlElQKDUdldE9wZW5PcmRlcnMSHy5vcmRlcnMudjEuR2V0T3Blbk9yZGVyc1JlcXVlc3QaIC5vcmRlcnMudjEuR2V0T3Blbk9yZGVyc1Jlc3BvbnNlIgASWgoPR2V0T3JkZXJIaXN0b3J5EiEub3JkZXJzLnYxLkdldE9yZGVySGlzdG9yeVJlcXVlc3QaIi5vcmRlcnMudjEuR2V0T3JkZXJIaXN0b3J5UmVzcG9uc2UiABJUCg1HZXRVc2VyVHJhZGVzEh8ub3JkZXJzLnYxLkdldFVzZXJUcmFkZXNSZXF1ZXN0GiAub3JkZXJzLnYxLkdldFVzZXJUcmFkZXNSZXNwb25zZSIAEkUKCEdldE9yZGVyEhoub3JkZXJzLnYxLkdldE9yZGVyUmVxdWVzdBobLm9yZGVycy52MS5HZXRPcmRlclJlc3BvbnNlIgASbAoVR2V0QmF0Y2hSZXBsYWNlU3RhdHVzEicub3JkZXJzLnYxLkdldEJhdGNoUmVwbGFjZVN0YXR1c1JlcXVlc3QaKC5vcmRlcnMudjEuR2V0QmF0Y2hSZXBsYWNlU3RhdHVzUmVzcG9uc2UiAEJAWj5naXRodWIuY29tL0ZhYnJpYy1MYWJzL3BvbHllc3Rlci1zZGstZ28vZ2VuL29yZGVycy92MTtvcmRlcnN2MWIGcHJvdG8z\", [file_ledger_v1_catalog, file_orders_v1_orders, file_polyester_type_v1_u128]);\n\n/**\n * OrderOrigin explains why an order exists and where it came from.\n *\n * Population rules:\n * - direct/manual orders: scope=DIRECT; trigger fields unset/unspecified.\n * - attached children: scope=ATTACHED_RISK; parent_order_id is set.\n * - standalone trigger children: scope=STANDALONE_TRIGGER.\n * - child_seq is set for multi-child strategies (for example TWAP/LADDER).\n *\n * @generated from message orders.v1.OrderOrigin\n */\nexport type OrderOrigin = Message<\"orders.v1.OrderOrigin\"> & {\n /**\n * Broad class describing how the order was created.\n *\n * @generated from field: orders.v1.OrderOriginScope scope = 1;\n */\n scope: OrderOriginScope;\n\n /**\n * Trigger strategy that created this order, or unspecified for direct orders.\n *\n * @generated from field: orders.v1.OrderTriggerType trigger_type = 2;\n */\n triggerType: OrderTriggerType;\n\n /**\n * Trigger identifier when the order was created by a trigger.\n *\n * @generated from field: optional fixed64 trigger_id = 3;\n */\n triggerId?: bigint | undefined;\n\n /**\n * Parent order ID for attached-risk child orders.\n *\n * @generated from field: optional fixed64 parent_order_id = 4;\n */\n parentOrderId?: bigint | undefined;\n\n /**\n * Child sequence number for multi-child trigger strategies. Zero when not applicable.\n *\n * @generated from field: uint32 child_seq = 5;\n */\n childSeq: number;\n};\n\n/**\n * Describes the message orders.v1.OrderOrigin.\n * Use `create(OrderOriginSchema)` to create a new message.\n */\nexport const OrderOriginSchema: GenMessage<OrderOrigin> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 0);\n\n/**\n * AttachedRiskLegState provides runtime linkage/state for one attached-risk leg.\n *\n * @generated from message orders.v1.AttachedRiskLegState\n */\nexport type AttachedRiskLegState = Message<\"orders.v1.AttachedRiskLegState\"> & {\n /**\n * Current runtime lifecycle status for this attached-risk leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState.Status status = 1;\n */\n status: AttachedRiskLegState_Status;\n\n /**\n * Time the leg was armed, in nanoseconds since epoch (UTC). Zero if not armed.\n *\n * @generated from field: uint64 armed_ts_ns = 2;\n */\n armedTsNs: bigint;\n\n /**\n * Time the leg reached a terminal state, in nanoseconds since epoch (UTC). Zero if not terminal.\n *\n * @generated from field: uint64 terminal_ts_ns = 3;\n */\n terminalTsNs: bigint;\n\n /**\n * Trigger identifier for this attached-risk leg.\n *\n * @generated from field: optional fixed64 trigger_id = 4;\n */\n triggerId?: bigint | undefined;\n\n /**\n * Child order ID created by this leg after it fires.\n *\n * @generated from field: optional fixed64 child_order_id = 5;\n */\n childOrderId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskLegState.\n * Use `create(AttachedRiskLegStateSchema)` to create a new message.\n */\nexport const AttachedRiskLegStateSchema: GenMessage<AttachedRiskLegState> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 1);\n\n/**\n * Runtime lifecycle for an attached-risk trigger leg.\n *\n * @generated from enum orders.v1.AttachedRiskLegState.Status\n */\nexport enum AttachedRiskLegState_Status {\n /**\n * Attached-risk leg status was not provided.\n *\n * @generated from enum value: STATUS_UNSPECIFIED = 0;\n */\n STATUS_UNSPECIFIED = 0,\n\n /**\n * No leg configured on the parent order.\n *\n * @generated from enum value: NOT_CONFIGURED = 1;\n */\n NOT_CONFIGURED = 1,\n\n /**\n * Trigger persisted, waiting for admission/arming.\n *\n * @generated from enum value: CREATED = 2;\n */\n CREATED = 2,\n\n /**\n * Trigger is actively armed.\n *\n * @generated from enum value: ARMED = 3;\n */\n ARMED = 3,\n\n /**\n * Trigger is executing runtime work (for example multi-step workflows).\n *\n * @generated from enum value: RUNNING = 4;\n */\n RUNNING = 4,\n\n /**\n * Trigger finished successfully.\n *\n * @generated from enum value: COMPLETED = 5;\n */\n COMPLETED = 5,\n\n /**\n * Trigger was canceled.\n *\n * @generated from enum value: CANCELED = 6;\n */\n CANCELED = 6,\n\n /**\n * Trigger failed.\n *\n * @generated from enum value: FAILED = 7;\n */\n FAILED = 7,\n\n /**\n * Trigger is paused.\n *\n * @generated from enum value: PAUSED = 8;\n */\n PAUSED = 8,\n}\n\n/**\n * Describes the enum orders.v1.AttachedRiskLegState.Status.\n */\nexport const AttachedRiskLegState_StatusSchema: GenEnum<AttachedRiskLegState_Status> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 1, 0);\n\n/**\n * AttachedRiskTakeProfit carries both take-profit config and runtime state.\n *\n * @generated from message orders.v1.AttachedRiskTakeProfit\n */\nexport type AttachedRiskTakeProfit = Message<\"orders.v1.AttachedRiskTakeProfit\"> & {\n /**\n * Take-profit policy configured on the parent order.\n *\n * @generated from field: orders.v1.TakeProfitPolicy policy = 1;\n */\n policy?: TakeProfitPolicy | undefined;\n\n /**\n * Runtime state for the take-profit leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState state = 2;\n */\n state?: AttachedRiskLegState | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskTakeProfit.\n * Use `create(AttachedRiskTakeProfitSchema)` to create a new message.\n */\nexport const AttachedRiskTakeProfitSchema: GenMessage<AttachedRiskTakeProfit> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 2);\n\n/**\n * AttachedRiskStopLoss carries both stop-loss config and runtime state.\n *\n * @generated from message orders.v1.AttachedRiskStopLoss\n */\nexport type AttachedRiskStopLoss = Message<\"orders.v1.AttachedRiskStopLoss\"> & {\n /**\n * Stop-loss policy configured on the parent order.\n *\n * @generated from field: orders.v1.StopLossPolicy policy = 1;\n */\n policy?: StopLossPolicy | undefined;\n\n /**\n * Runtime state for the stop-loss leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState state = 2;\n */\n state?: AttachedRiskLegState | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskStopLoss.\n * Use `create(AttachedRiskStopLossSchema)` to create a new message.\n */\nexport const AttachedRiskStopLossSchema: GenMessage<AttachedRiskStopLoss> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 3);\n\n/**\n * AttachedRiskTrailingStop carries both trailing-stop config and runtime state.\n *\n * @generated from message orders.v1.AttachedRiskTrailingStop\n */\nexport type AttachedRiskTrailingStop = Message<\"orders.v1.AttachedRiskTrailingStop\"> & {\n /**\n * Trailing-stop policy configured on the parent order.\n *\n * @generated from field: orders.v1.TrailingStopPolicy policy = 1;\n */\n policy?: TrailingStopPolicy | undefined;\n\n /**\n * Runtime state for the trailing-stop leg.\n *\n * @generated from field: orders.v1.AttachedRiskLegState state = 2;\n */\n state?: AttachedRiskLegState | undefined;\n};\n\n/**\n * Describes the message orders.v1.AttachedRiskTrailingStop.\n * Use `create(AttachedRiskTrailingStopSchema)` to create a new message.\n */\nexport const AttachedRiskTrailingStopSchema: GenMessage<AttachedRiskTrailingStop> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 4);\n\n/**\n * AttachedRisk is the single parent-side view for attached-risk configuration\n * and runtime status.\n *\n * @generated from message orders.v1.AttachedRisk\n */\nexport type AttachedRisk = Message<\"orders.v1.AttachedRisk\"> & {\n /**\n * Take-profit leg, if configured or if state exists.\n *\n * @generated from field: orders.v1.AttachedRiskTakeProfit take_profit = 1;\n */\n takeProfit?: AttachedRiskTakeProfit | undefined;\n\n /**\n * Stop-loss leg, if configured or if state exists.\n *\n * @generated from field: orders.v1.AttachedRiskStopLoss stop_loss = 2;\n */\n stopLoss?: AttachedRiskStopLoss | undefined;\n\n /**\n * Trailing-stop leg, if configured or if state exists.\n *\n * @generated from field: orders.v1.AttachedRiskTrailingStop trailing_stop = 3;\n */\n trailingStop?: AttachedRiskTrailingStop | undefined;\n\n /**\n * True when the take-profit and stop leg are linked as one-cancels-the-other.\n *\n * @generated from field: bool oco = 4;\n */\n oco: boolean;\n};\n\n/**\n * Describes the message orders.v1.AttachedRisk.\n * Use `create(AttachedRiskSchema)` to create a new message.\n */\nexport const AttachedRiskSchema: GenMessage<AttachedRisk> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 5);\n\n/**\n * Order is the Connect-facing order view with compact binary fields.\n *\n * @generated from message orders.v1.Order\n */\nexport type Order = Message<\"orders.v1.Order\"> & {\n /**\n * Public order identifier as fixed64.\n *\n * @generated from field: fixed64 order_id = 1;\n */\n orderId: bigint;\n\n /**\n * Trading symbol numeric identifier.\n *\n * @generated from field: uint32 symbol_id = 3;\n */\n symbolId: number;\n\n /**\n * Client-provided id for idempotency/correlation (may be empty).\n *\n * @generated from field: string client_order_id = 4;\n */\n clientOrderId: string;\n\n /**\n * Order side.\n *\n * @generated from field: orders.v1.Side side = 5;\n */\n side: Side;\n\n /**\n * Current order lifecycle status.\n *\n * @generated from field: orders.v1.OrderStatus status = 6;\n */\n status: OrderStatus;\n\n /**\n * Order type.\n *\n * @generated from field: orders.v1.OrderType order_type = 7;\n */\n orderType: OrderType;\n\n /**\n * Time-in-force policy.\n *\n * @generated from field: orders.v1.TimeInForce time_in_force = 8;\n */\n timeInForce: TimeInForce;\n\n /**\n * Self-trade prevention mode.\n *\n * @generated from field: orders.v1.SelfTradePreventionMode self_trade_prevention_mode = 9;\n */\n selfTradePreventionMode: SelfTradePreventionMode;\n\n /**\n * Fee asset selected for fills.\n *\n * @generated from field: orders.v1.FeeAsset fee_asset = 10;\n */\n feeAsset: FeeAsset;\n\n /**\n * True if the order was submitted as post-only (maker-only).\n *\n * @generated from field: bool post_only = 11;\n */\n postOnly: boolean;\n\n /**\n * Current accepted total order quantity, updated by successful modifies,\n * scaled by the pair's base_quantity_scale from GetSpotConfig for symbol_id.\n *\n * @generated from field: int64 orig_qty_scaled = 12;\n */\n origQtyScaled: bigint;\n\n /**\n * Cumulative filled quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig for symbol_id.\n *\n * @generated from field: int64 cum_qty_scaled = 13;\n */\n cumQtyScaled: bigint;\n\n /**\n * Remaining working quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig for symbol_id. Zero for terminal orders.\n *\n * @generated from field: int64 leaves_qty_scaled = 20;\n */\n leavesQtyScaled: bigint;\n\n /**\n * Average fill price in quote units scaled by 1e6. Zero if no fills.\n *\n * @generated from field: int64 avg_price_ticks = 14;\n */\n avgPriceTicks: bigint;\n\n /**\n * Limit price in quote units scaled by 1e6. Zero for MARKET orders.\n *\n * @generated from field: int64 price_ticks = 15;\n */\n priceTicks: bigint;\n\n /**\n * Creation timestamp in nanoseconds since epoch (UTC).\n *\n * @generated from field: uint64 created_ts_ns = 16;\n */\n createdTsNs: bigint;\n\n /**\n * Terminal timestamp in nanoseconds since epoch (UTC). Zero for open orders.\n *\n * @generated from field: uint64 terminal_ts_ns = 17;\n */\n terminalTsNs: bigint;\n\n /**\n * Terminal reason code for canceled/rejected orders. Zero for non-terminal orders.\n *\n * @generated from field: uint32 terminal_reason_code = 18;\n */\n terminalReasonCode: number;\n\n /**\n * Stable string for terminal_reason_code (e.g. \"POST_ONLY_CROSS\", \"USER_REQUEST\").\n * Empty for non-terminal orders.\n *\n * @generated from field: string terminal_reason = 19;\n */\n terminalReason: string;\n\n /**\n * Attached risk controls + runtime state on the parent order.\n * Empty when no attached risk exists.\n *\n * @generated from field: orders.v1.AttachedRisk attached_risk = 21;\n */\n attachedRisk?: AttachedRisk | undefined;\n\n /**\n * Runtime lineage metadata (why the order exists and what generated it).\n *\n * @generated from field: orders.v1.OrderOrigin origin = 22;\n */\n origin?: OrderOrigin | undefined;\n\n /**\n * Optional client-side reference price used for MARKET slippage protection,\n * in quote units scaled by 1e6.\n *\n * @generated from field: int64 market_client_ref_price_ticks = 23;\n */\n marketClientRefPriceTicks: bigint;\n\n /**\n * Optional MARKET max slippage as a price delta in 1e-6 quote-unit ticks.\n *\n * @generated from field: int32 market_max_slippage_ticks = 24;\n */\n marketMaxSlippageTicks: number;\n\n /**\n * Optional MARKET max slippage in basis points (1 bp = 0.01%).\n *\n * @generated from field: int32 market_max_slippage_bps = 25;\n */\n marketMaxSlippageBps: number;\n\n /**\n * Per-order state version. Starts at 1 and increases for every published\n * state change. Use this field to reconcile API and realtime updates.\n *\n * @generated from field: uint32 version = 26;\n */\n version: number;\n\n /**\n * Batch-replace identity that admitted this order. Zero for other origins.\n *\n * @generated from field: fixed64 batch_request_id = 27;\n */\n batchRequestId: 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 = 28;\n */\n submittedMaxQuoteDebitScaled?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.Order.\n * Use `create(OrderSchema)` to create a new message.\n */\nexport const OrderSchema: GenMessage<Order> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 6);\n\n/**\n * UserTrade is the Connect-facing per-user trade fill view.\n *\n * @generated from message orders.v1.UserTrade\n */\nexport type UserTrade = Message<\"orders.v1.UserTrade\"> & {\n /**\n * Trading symbol numeric identifier.\n *\n * @generated from field: uint32 symbol_id = 2;\n */\n symbolId: number;\n\n /**\n * Match identifier (monotonic per symbol).\n *\n * @generated from field: uint64 match_id = 3;\n */\n matchId: bigint;\n\n /**\n * Order identifier as fixed64.\n *\n * @generated from field: fixed64 order_id = 4;\n */\n orderId: bigint;\n\n /**\n * Fill side.\n *\n * @generated from field: orders.v1.Side side = 5;\n */\n side: Side;\n\n /**\n * True if this fill was maker-side.\n *\n * @generated from field: bool is_maker = 6;\n */\n isMaker: boolean;\n\n /**\n * Execution price in quote units scaled by 1e6.\n *\n * @generated from field: int64 price_ticks = 7;\n */\n priceTicks: bigint;\n\n /**\n * Executed quantity scaled by the pair's base_quantity_scale from\n * GetSpotConfig for symbol_id.\n *\n * @generated from field: int64 qty_scaled = 8;\n */\n qtyScaled: bigint;\n\n /**\n * Exact fee magnitude in fixed 18-decimal units of fee_asset.\n *\n * @generated from field: polyester.type.v1.U128 fee_amount_e18 = 9;\n */\n feeAmountE18?: U128 | undefined;\n\n /**\n * Fee asset charged or credited for this fill.\n *\n * @generated from field: orders.v1.FeeAsset fee_asset = 10;\n */\n feeAsset: FeeAsset;\n\n /**\n * Exact referral share magnitude in fixed 18-decimal units of fee_asset.\n *\n * @generated from field: polyester.type.v1.U128 referral_share_amount_e18 = 12;\n */\n referralShareAmountE18?: U128 | undefined;\n\n /**\n * Execution timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 ts_ns = 13;\n */\n tsNs: bigint;\n\n /**\n * Whether this fill earned a rebate instead of paying a fee.\n *\n * @generated from field: bool fee_is_rebate = 14;\n */\n feeIsRebate: boolean;\n};\n\n/**\n * Describes the message orders.v1.UserTrade.\n * Use `create(UserTradeSchema)` to create a new message.\n */\nexport const UserTradeSchema: GenMessage<UserTrade> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 7);\n\n/**\n * OrderTransfer is the Connect-facing minimal per-leg transfer view.\n *\n * @generated from message orders.v1.OrderTransfer\n */\nexport type OrderTransfer = Message<\"orders.v1.OrderTransfer\"> & {\n /**\n * Match identifier that linked this transfer to an execution.\n *\n * @generated from field: uint64 match_id = 1;\n */\n matchId: bigint;\n\n /**\n * Asset identifier for the transferred asset.\n *\n * @generated from field: uint32 asset_id = 2;\n */\n assetId: number;\n\n /**\n * Transfer amount at fixed 18-decimal ledger scale.\n *\n * @generated from field: polyester.type.v1.U128 amount_e18 = 3;\n */\n amountE18?: U128 | undefined;\n\n /**\n * True when the transfer debits the account; false when it credits the account.\n *\n * @generated from field: bool is_debit = 5;\n */\n isDebit: boolean;\n\n /**\n * Product reason for this transfer leg.\n *\n * @generated from field: ledger.v1.TransferCode transfer_code = 6;\n */\n transferCode: TransferCode;\n\n /**\n * Account bucket affected by this transfer leg.\n *\n * @generated from field: ledger.v1.AccountCode account_code = 7;\n */\n accountCode: AccountCode;\n\n /**\n * Transfer timestamp in nanoseconds since epoch (UTC).\n *\n * @generated from field: uint64 ts_ns = 8;\n */\n tsNs: bigint;\n\n /**\n * Transfer transaction identifier.\n *\n * @generated from field: string tx_id = 9;\n */\n txId: string;\n};\n\n/**\n * Describes the message orders.v1.OrderTransfer.\n * Use `create(OrderTransferSchema)` to create a new message.\n */\nexport const OrderTransferSchema: GenMessage<OrderTransfer> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 8);\n\n/**\n * GetOpenOrdersRequest lists currently non-terminal orders for an account.\n *\n * @generated from message orders.v1.GetOpenOrdersRequest\n */\nexport type GetOpenOrdersRequest = Message<\"orders.v1.GetOpenOrdersRequest\"> & {\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 filter by symbol_id values. Empty means all symbols.\n *\n * @generated from field: repeated uint32 symbol_id = 2;\n */\n symbolId: number[];\n\n /**\n * Optional side filter.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * Max number of orders to return (1-1000, default 100).\n *\n * @generated from field: optional uint32 limit = 10;\n */\n limit?: number | undefined;\n\n /**\n * Opaque keyset cursor from a previous response. The cursor is exclusive and\n * bound to the authenticated account, sub-account scope, filters, and sort\n * order.\n *\n * @generated from field: string page_token = 11;\n */\n pageToken: string;\n\n /**\n * Include attached-risk policy details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk = 12;\n */\n includeAttachedRisk?: boolean | undefined;\n\n /**\n * Include attached-risk state details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk_state = 13;\n */\n includeAttachedRiskState?: boolean | undefined;\n\n /**\n * Optional trigger identifier. When set, returns only child orders created by\n * that trigger.\n *\n * @generated from field: optional fixed64 trigger_id = 14;\n */\n triggerId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetOpenOrdersRequest.\n * Use `create(GetOpenOrdersRequestSchema)` to create a new message.\n */\nexport const GetOpenOrdersRequestSchema: GenMessage<GetOpenOrdersRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 9);\n\n/**\n * GetOpenOrdersResponse returns open orders and an optional next-page cursor.\n *\n * @generated from message orders.v1.GetOpenOrdersResponse\n */\nexport type GetOpenOrdersResponse = Message<\"orders.v1.GetOpenOrdersResponse\"> & {\n /**\n * Open orders ordered newest-first.\n *\n * @generated from field: repeated orders.v1.Order orders = 1;\n */\n orders: Order[];\n\n /**\n * Opaque cursor for the next page. Empty when no more results exist.\n *\n * @generated from field: string next_page_token = 2;\n */\n nextPageToken: string;\n};\n\n/**\n * Describes the message orders.v1.GetOpenOrdersResponse.\n * Use `create(GetOpenOrdersResponseSchema)` to create a new message.\n */\nexport const GetOpenOrdersResponseSchema: GenMessage<GetOpenOrdersResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 10);\n\n/**\n * GetOrderHistoryRequest lists terminal orders for an account.\n *\n * @generated from message orders.v1.GetOrderHistoryRequest\n */\nexport type GetOrderHistoryRequest = Message<\"orders.v1.GetOrderHistoryRequest\"> & {\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 filter by symbol_id values. Empty means all symbols.\n *\n * @generated from field: repeated uint32 symbol_id = 2;\n */\n symbolId: number[];\n\n /**\n * Optional side filter.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * Optional status filter.\n *\n * @generated from field: orders.v1.OrderStatus status = 4;\n */\n status: OrderStatus;\n\n /**\n * Inclusive start of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 start_ts_ns = 10;\n */\n startTsNs?: bigint | undefined;\n\n /**\n * Inclusive end of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 end_ts_ns = 11;\n */\n endTsNs?: bigint | undefined;\n\n /**\n * Max number of orders to return (1-1000, default 100).\n *\n * @generated from field: optional uint32 limit = 12;\n */\n limit?: number | undefined;\n\n /**\n * Opaque keyset cursor from a previous response. The cursor is exclusive and\n * bound to the authenticated account, sub-account scope, filters, time range,\n * and sort order.\n *\n * @generated from field: string page_token = 13;\n */\n pageToken: string;\n\n /**\n * Include attached-risk policy details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk = 14;\n */\n includeAttachedRisk?: boolean | undefined;\n\n /**\n * Include attached-risk state details in each order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk_state = 15;\n */\n includeAttachedRiskState?: boolean | undefined;\n\n /**\n * Optional trigger identifier. When set, returns only child orders created by\n * that trigger.\n *\n * @generated from field: optional fixed64 trigger_id = 16;\n */\n triggerId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetOrderHistoryRequest.\n * Use `create(GetOrderHistoryRequestSchema)` to create a new message.\n */\nexport const GetOrderHistoryRequestSchema: GenMessage<GetOrderHistoryRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 11);\n\n/**\n * GetOrderHistoryResponse returns historical orders and an optional next-page cursor.\n *\n * @generated from message orders.v1.GetOrderHistoryResponse\n */\nexport type GetOrderHistoryResponse = Message<\"orders.v1.GetOrderHistoryResponse\"> & {\n /**\n * Historical orders ordered newest-first.\n *\n * @generated from field: repeated orders.v1.Order orders = 1;\n */\n orders: Order[];\n\n /**\n * Opaque cursor for the next page. Empty when no more results exist.\n *\n * @generated from field: string next_page_token = 2;\n */\n nextPageToken: string;\n};\n\n/**\n * Describes the message orders.v1.GetOrderHistoryResponse.\n * Use `create(GetOrderHistoryResponseSchema)` to create a new message.\n */\nexport const GetOrderHistoryResponseSchema: GenMessage<GetOrderHistoryResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 12);\n\n/**\n * GetUserTradesRequest lists trade fills for an account.\n *\n * @generated from message orders.v1.GetUserTradesRequest\n */\nexport type GetUserTradesRequest = Message<\"orders.v1.GetUserTradesRequest\"> & {\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 filter by symbol_id.\n *\n * @generated from field: uint32 symbol_id = 2;\n */\n symbolId: number;\n\n /**\n * Optional side filter.\n *\n * @generated from field: orders.v1.Side side = 3;\n */\n side: Side;\n\n /**\n * Inclusive start of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 start_ts_ns = 10;\n */\n startTsNs?: bigint | undefined;\n\n /**\n * Inclusive end of the time range, in nanoseconds since epoch (UTC).\n *\n * @generated from field: optional uint64 end_ts_ns = 11;\n */\n endTsNs?: bigint | undefined;\n\n /**\n * Max number of trades to return (1-1000, default 100).\n *\n * @generated from field: optional uint32 limit = 12;\n */\n limit?: number | undefined;\n\n /**\n * Opaque keyset cursor from a previous response. The cursor is exclusive and\n * bound to the authenticated account, sub-account scope, filters, time range,\n * and sort order.\n *\n * @generated from field: string page_token = 13;\n */\n pageToken: string;\n\n /**\n * Return only durable fills whose per-symbol match ID is greater than this\n * value. Subscribe to the execution WebSocket before calling this method and\n * de-duplicate overlapping results by (symbol_id, match_id, order_id).\n *\n * @generated from field: optional uint64 after_match_id = 14;\n */\n afterMatchId?: bigint | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetUserTradesRequest.\n * Use `create(GetUserTradesRequestSchema)` to create a new message.\n */\nexport const GetUserTradesRequestSchema: GenMessage<GetUserTradesRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 13);\n\n/**\n * GetUserTradesResponse returns user trade fills and an optional next-page cursor.\n *\n * @generated from message orders.v1.GetUserTradesResponse\n */\nexport type GetUserTradesResponse = Message<\"orders.v1.GetUserTradesResponse\"> & {\n /**\n * Trades ordered newest-first.\n *\n * @generated from field: repeated orders.v1.UserTrade trades = 1;\n */\n trades: UserTrade[];\n\n /**\n * Opaque cursor for the next page. Empty when no more results exist.\n *\n * @generated from field: string next_page_token = 2;\n */\n nextPageToken: string;\n};\n\n/**\n * Describes the message orders.v1.GetUserTradesResponse.\n * Use `create(GetUserTradesResponseSchema)` to create a new message.\n */\nexport const GetUserTradesResponseSchema: GenMessage<GetUserTradesResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 14);\n\n/**\n * GetOrderRequest retrieves a single order and related execution context.\n *\n * @generated from message orders.v1.GetOrderRequest\n */\nexport type GetOrderRequest = Message<\"orders.v1.GetOrderRequest\"> & {\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 lookup key. Exactly one identifier is required.\n *\n * @generated from oneof orders.v1.GetOrderRequest.key\n */\n key: {\n /**\n * Public order ID (base58-encoded fixed64 on REST).\n *\n * @generated from field: fixed64 order_id = 2;\n */\n value: bigint;\n case: \"orderId\";\n } | {\n /**\n * Client order ID. When provided, server resolves latest matching order for the 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 * Include attached-risk policy details in response.order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk = 10;\n */\n includeAttachedRisk?: boolean | undefined;\n\n /**\n * Include attached-risk state details in response.order (defaults to false when unset).\n *\n * @generated from field: optional bool include_attached_risk_state = 11;\n */\n includeAttachedRiskState?: boolean | undefined;\n};\n\n/**\n * Describes the message orders.v1.GetOrderRequest.\n * Use `create(GetOrderRequestSchema)` to create a new message.\n */\nexport const GetOrderRequestSchema: GenMessage<GetOrderRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 15);\n\n/**\n * GetOrderResponse returns the order plus related trades and transfer legs.\n *\n * @generated from message orders.v1.GetOrderResponse\n */\nexport type GetOrderResponse = Message<\"orders.v1.GetOrderResponse\"> & {\n /**\n * Requested order, if found.\n *\n * @generated from field: orders.v1.Order order = 1;\n */\n order?: Order | undefined;\n\n /**\n * User trade fills for the order, ordered newest-first.\n *\n * @generated from field: repeated orders.v1.UserTrade trades = 2;\n */\n trades: UserTrade[];\n\n /**\n * Transfer legs linked to the order's matches, ordered newest-first.\n *\n * @generated from field: repeated orders.v1.OrderTransfer transfers = 3;\n */\n transfers: OrderTransfer[];\n};\n\n/**\n * Describes the message orders.v1.GetOrderResponse.\n * Use `create(GetOrderResponseSchema)` to create a new message.\n */\nexport const GetOrderResponseSchema: GenMessage<GetOrderResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 16);\n\n/**\n * GetBatchReplaceStatusRequest retrieves one admitted batch by server identity.\n *\n * @generated from message orders.v1.GetBatchReplaceStatusRequest\n */\nexport type GetBatchReplaceStatusRequest = Message<\"orders.v1.GetBatchReplaceStatusRequest\"> & {\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 * Server-issued batch identity from BatchReplaceOrders.\n *\n * @generated from field: fixed64 batch_request_id = 2;\n */\n batchRequestId: bigint;\n};\n\n/**\n * Describes the message orders.v1.GetBatchReplaceStatusRequest.\n * Use `create(GetBatchReplaceStatusRequestSchema)` to create a new message.\n */\nexport const GetBatchReplaceStatusRequestSchema: GenMessage<GetBatchReplaceStatusRequest> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 17);\n\n/**\n * BatchReplaceStatusItem is the index-stable execution status for one replacement.\n *\n * @generated from message orders.v1.BatchReplaceStatusItem\n */\nexport type BatchReplaceStatusItem = Message<\"orders.v1.BatchReplaceStatusItem\"> & {\n /**\n * Zero-based item index from the write request.\n *\n * @generated from field: uint32 item_index = 1;\n */\n itemIndex: number;\n\n /**\n * Current recoverable phase.\n *\n * @generated from field: orders.v1.BatchReplacePhase phase = 2;\n */\n phase: BatchReplacePhase;\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 * Current successor order status when available.\n *\n * @generated from field: orders.v1.OrderStatus order_status = 5;\n */\n orderStatus: OrderStatus;\n\n /**\n * Stable rejection or terminal error code. Empty when none.\n *\n * @generated from field: string code = 6;\n */\n code: string;\n\n /**\n * Latest status timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 updated_ts_ns = 7;\n */\n updatedTsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.BatchReplaceStatusItem.\n * Use `create(BatchReplaceStatusItemSchema)` to create a new message.\n */\nexport const BatchReplaceStatusItemSchema: GenMessage<BatchReplaceStatusItem> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 18);\n\n/**\n * GetBatchReplaceStatusResponse returns durable batch and per-item finality.\n *\n * @generated from message orders.v1.GetBatchReplaceStatusResponse\n */\nexport type GetBatchReplaceStatusResponse = Message<\"orders.v1.GetBatchReplaceStatusResponse\"> & {\n /**\n * Server-issued batch identity.\n *\n * @generated from field: fixed64 batch_request_id = 1;\n */\n batchRequestId: bigint;\n\n /**\n * Aggregate admission status returned by the write receipt.\n *\n * @generated from field: orders.v1.BatchReplaceAdmissionStatus admission_status = 2;\n */\n admissionStatus: BatchReplaceAdmissionStatus;\n\n /**\n * Per-item statuses in request order.\n *\n * @generated from field: repeated orders.v1.BatchReplaceStatusItem items = 3;\n */\n items: BatchReplaceStatusItem[];\n\n /**\n * Number of admitted items.\n *\n * @generated from field: uint32 accepted_count = 4;\n */\n acceptedCount: number;\n\n /**\n * Number of rejected items.\n *\n * @generated from field: uint32 rejected_count = 5;\n */\n rejectedCount: number;\n\n /**\n * Server acceptance timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 accepted_ts_ns = 6;\n */\n acceptedTsNs: bigint;\n\n /**\n * Latest batch status timestamp in nanoseconds since epoch.\n *\n * @generated from field: uint64 updated_ts_ns = 7;\n */\n updatedTsNs: bigint;\n};\n\n/**\n * Describes the message orders.v1.GetBatchReplaceStatusResponse.\n * Use `create(GetBatchReplaceStatusResponseSchema)` to create a new message.\n */\nexport const GetBatchReplaceStatusResponseSchema: GenMessage<GetBatchReplaceStatusResponse> = /*@__PURE__*/\n messageDesc(file_orders_v1_orders_read, 19);\n\n/**\n * OrderStatus is specific to the read API (write API uses simple \"accepted\" status string).\n *\n * @generated from enum orders.v1.OrderStatus\n */\nexport enum OrderStatus {\n /**\n * Order status was not provided.\n *\n * @generated from enum value: ORDER_STATUS_UNSPECIFIED = 0;\n */\n ORDER_STATUS_UNSPECIFIED = 0,\n\n /**\n * Accepted and submitted for execution, but not yet confirmed as working.\n *\n * @generated from enum value: PENDING = 1;\n */\n PENDING = 1,\n\n /**\n * Cancel requested; may still be working until cancel is confirmed.\n *\n * @generated from enum value: PENDING_CANCEL = 2;\n */\n PENDING_CANCEL = 2,\n\n /**\n * Accepted and actively working (resting and/or matching).\n *\n * @generated from enum value: WORKING = 3;\n */\n WORKING = 3,\n\n /**\n * Fully filled (no remaining quantity).\n *\n * @generated from enum value: FILLED = 4;\n */\n FILLED = 4,\n\n /**\n * Canceled and no longer working.\n *\n * @generated from enum value: CANCELED = 5;\n */\n CANCELED = 5,\n\n /**\n * Rejected and never entered the working state.\n *\n * @generated from enum value: REJECTED = 6;\n */\n REJECTED = 6,\n}\n\n/**\n * Describes the enum orders.v1.OrderStatus.\n */\nexport const OrderStatusSchema: GenEnum<OrderStatus> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 0);\n\n/**\n * BatchReplacePhase is the recoverable execution phase for one replacement.\n *\n * @generated from enum orders.v1.BatchReplacePhase\n */\nexport enum BatchReplacePhase {\n /**\n * Phase is unavailable.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_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_PHASE_ADMITTED = 1;\n */\n ADMITTED = 1,\n\n /**\n * The successor order is active.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_WORKING = 2;\n */\n WORKING = 2,\n\n /**\n * The replacement was rejected.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_REJECTED = 3;\n */\n REJECTED = 3,\n\n /**\n * The successor reached a terminal order state.\n *\n * @generated from enum value: BATCH_REPLACE_PHASE_TERMINAL = 4;\n */\n TERMINAL = 4,\n}\n\n/**\n * Describes the enum orders.v1.BatchReplacePhase.\n */\nexport const BatchReplacePhaseSchema: GenEnum<BatchReplacePhase> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 1);\n\n/**\n * OrderOriginScope captures broad origin classes for an order.\n *\n * @generated from enum orders.v1.OrderOriginScope\n */\nexport enum OrderOriginScope {\n /**\n * Order origin scope was not provided.\n *\n * @generated from enum value: ORDER_ORIGIN_SCOPE_UNSPECIFIED = 0;\n */\n ORDER_ORIGIN_SCOPE_UNSPECIFIED = 0,\n\n /**\n * User/manual order (non-trigger path).\n *\n * @generated from enum value: DIRECT = 1;\n */\n DIRECT = 1,\n\n /**\n * Child generated by attached TP/SL/Trailing risk on a parent order.\n *\n * @generated from enum value: ATTACHED_RISK = 2;\n */\n ATTACHED_RISK = 2,\n\n /**\n * Child generated by a standalone trigger (STOP/TWAP/LADDER...).\n *\n * @generated from enum value: STANDALONE_TRIGGER = 3;\n */\n STANDALONE_TRIGGER = 3,\n\n /**\n * System-managed automation, such as liquidation or account-protection actions.\n *\n * @generated from enum value: SYSTEM = 4;\n */\n SYSTEM = 4,\n}\n\n/**\n * Describes the enum orders.v1.OrderOriginScope.\n */\nexport const OrderOriginScopeSchema: GenEnum<OrderOriginScope> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 2);\n\n/**\n * OrderTriggerType captures the trigger strategy that generated the order.\n *\n * @generated from enum orders.v1.OrderTriggerType\n */\nexport enum OrderTriggerType {\n /**\n * Trigger type was not provided or the order was not generated by a trigger.\n *\n * @generated from enum value: ORDER_TRIGGER_TYPE_UNSPECIFIED = 0;\n */\n ORDER_TRIGGER_TYPE_UNSPECIFIED = 0,\n\n /**\n * Order was generated by a stop-loss trigger.\n *\n * @generated from enum value: STOP_LOSS = 1;\n */\n STOP_LOSS = 1,\n\n /**\n * Order was generated by a take-profit trigger.\n *\n * @generated from enum value: TAKE_PROFIT = 2;\n */\n TAKE_PROFIT = 2,\n\n /**\n * Order was generated by a trailing-stop trigger.\n *\n * @generated from enum value: TRAILING_STOP = 3;\n */\n TRAILING_STOP = 3,\n\n /**\n * Order was generated by a time-weighted execution trigger.\n *\n * @generated from enum value: TWAP = 4;\n */\n TWAP = 4,\n\n /**\n * Order was generated by a ladder execution trigger.\n *\n * @generated from enum value: LADDER = 5;\n */\n LADDER = 5,\n}\n\n/**\n * Describes the enum orders.v1.OrderTriggerType.\n */\nexport const OrderTriggerTypeSchema: GenEnum<OrderTriggerType> = /*@__PURE__*/\n enumDesc(file_orders_v1_orders_read, 3);\n\n/**\n * @generated from service orders.v1.OrdersReadService\n */\nexport const OrdersReadService: GenService<{\n /**\n * Retrieve non-terminal orders for an account.\n * Supports optional subaccount, trigger, symbol, and side filters with cursor pagination.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetOpenOrders\n */\n getOpenOrders: {\n methodKind: \"unary\";\n input: typeof GetOpenOrdersRequestSchema;\n output: typeof GetOpenOrdersResponseSchema;\n },\n /**\n * Retrieve terminal order history for an account.\n * Supports optional subaccount, trigger, symbol, side, status, and time-range filters with cursor pagination.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetOrderHistory\n */\n getOrderHistory: {\n methodKind: \"unary\";\n input: typeof GetOrderHistoryRequestSchema;\n output: typeof GetOrderHistoryResponseSchema;\n },\n /**\n * Retrieve per-user trade fills for an account.\n * Supports optional subaccount, symbol, side, and time-range filters with cursor pagination.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetUserTrades\n */\n getUserTrades: {\n methodKind: \"unary\";\n input: typeof GetUserTradesRequestSchema;\n output: typeof GetUserTradesResponseSchema;\n },\n /**\n * Retrieve a single order by order ID or client order ID, including related user trades and ledger transfers.\n * Recent accepted orders may wait briefly for read availability; retry UNAVAILABLE with the same lookup key.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetOrder\n */\n getOrder: {\n methodKind: \"unary\";\n input: typeof GetOrderRequestSchema;\n output: typeof GetOrderResponseSchema;\n },\n /**\n * Retrieve durable execution status for one admitted batch replacement.\n *\n * @generated from rpc orders.v1.OrdersReadService.GetBatchReplaceStatus\n */\n getBatchReplaceStatus: {\n methodKind: \"unary\";\n input: typeof GetBatchReplaceStatusRequestSchema;\n output: typeof GetBatchReplaceStatusResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_orders_v1_orders_read, 0);\n\n"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
+ import { AuthApiTransports } from "../../shared/transports.js";
1
2
  import { PolyesterRequestOptions } from "../../shared/request-options.js";
2
3
  import { ResolveAccountInput, ResolvedAccount } from "./accounts.schemas.js";
3
- import { Transport } from "@connectrpc/connect";
4
4
  //#region src/services/accounts/accounts.d.ts
5
5
  /**
6
6
  * Resolves user-entered account identifiers into transfer/shareable root or subaccount destinations.
7
7
  */
8
8
  declare class AccountsService {
9
9
  #private;
10
- constructor(transport: Transport);
10
+ constructor(transports: AuthApiTransports);
11
11
  /**
12
12
  * Resolves a username, opaque account/subaccount ID, or smart-account address into matching destination accounts; set includeSubaccounts for internal-transfer flows that may target subaccounts.
13
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","names":[],"sources":["../../../src/services/accounts/accounts.ts"],"mappings":";;;;;;;cAiBa;;EAGG,YAAA,WAAW;;;;EAOjB,QACF,OAAO,qBACP,UAAU,0BACX,QAAQ"}
1
+ {"version":3,"file":"accounts.d.ts","names":[],"sources":["../../../src/services/accounts/accounts.ts"],"mappings":";;;;;;;cAkBa;;EAGG,YAAA,YAAY;;;;EAOlB,QACF,OAAO,qBACP,UAAU,0BACX,QAAQ"}
@@ -9,8 +9,8 @@ import { createClient } from "@connectrpc/connect";
9
9
  */
10
10
  var AccountsService = class {
11
11
  #client;
12
- constructor(transport) {
13
- this.#client = createClient(ResolveService, transport);
12
+ constructor(transports) {
13
+ this.#client = createClient(ResolveService, transports.authApi);
14
14
  }
15
15
  /**
16
16
  * Resolves a username, opaque account/subaccount ID, or smart-account address into matching destination accounts; set includeSubaccounts for internal-transfer flows that may target subaccounts.
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","names":["#client","ProtoResolve.ResolveService"],"sources":["../../../src/services/accounts/accounts.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as ProtoResolve from \"../../gen/auth/v1/resolve_pb.js\";\nimport { parse } from \"../../shared/validation.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport {\n ResolveAccountInputSchema,\n ResolvedAccountArraySchema,\n type ResolveAccountInput,\n type ResolvedAccount,\n} from \"./accounts.schemas.js\";\n\n/**\n * Resolves user-entered account identifiers into transfer/shareable root or subaccount destinations.\n */\nexport class AccountsService {\n #client: Client<typeof ProtoResolve.ResolveService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(ProtoResolve.ResolveService, transport);\n }\n\n /**\n * Resolves a username, opaque account/subaccount ID, or smart-account address into matching destination accounts; set includeSubaccounts for internal-transfer flows that may target subaccounts.\n */\n async resolve(\n input: ResolveAccountInput,\n options?: PolyesterRequestOptions,\n ): Promise<ResolvedAccount[]> {\n const validatedInput = parse(ResolveAccountInputSchema, input);\n const res = await this.#client.resolveAccount(\n validatedInput,\n toConnectCallOptions(options),\n );\n\n return parse(ResolvedAccountArraySchema, res.matches);\n }\n}\n"],"mappings":";;;;;;;;;AAiBA,IAAa,kBAAb,MAA6B;CACzB;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,gBAA6B,SAAS;CACtE;;;;CAKA,MAAM,QACF,OACA,SAC0B;EAC1B,MAAM,iBAAiB,MAAM,2BAA2B,KAAK;EAC7D,MAAM,MAAM,MAAM,KAAKD,QAAQ,eAC3B,gBACA,qBAAqB,OAAO,CAChC;EAEA,OAAO,MAAM,4BAA4B,IAAI,OAAO;CACxD;AACJ"}
1
+ {"version":3,"file":"accounts.js","names":["#client","ProtoResolve.ResolveService"],"sources":["../../../src/services/accounts/accounts.ts"],"sourcesContent":["import { createClient, type Client } from \"@connectrpc/connect\";\nimport * as ProtoResolve from \"../../gen/auth/v1/resolve_pb.js\";\nimport type { AuthApiTransports } from \"../../shared/transports.js\";\nimport { parse } from \"../../shared/validation.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport {\n ResolveAccountInputSchema,\n ResolvedAccountArraySchema,\n type ResolveAccountInput,\n type ResolvedAccount,\n} from \"./accounts.schemas.js\";\n\n/**\n * Resolves user-entered account identifiers into transfer/shareable root or subaccount destinations.\n */\nexport class AccountsService {\n #client: Client<typeof ProtoResolve.ResolveService>;\n\n constructor(transports: AuthApiTransports) {\n this.#client = createClient(ProtoResolve.ResolveService, transports.authApi);\n }\n\n /**\n * Resolves a username, opaque account/subaccount ID, or smart-account address into matching destination accounts; set includeSubaccounts for internal-transfer flows that may target subaccounts.\n */\n async resolve(\n input: ResolveAccountInput,\n options?: PolyesterRequestOptions,\n ): Promise<ResolvedAccount[]> {\n const validatedInput = parse(ResolveAccountInputSchema, input);\n const res = await this.#client.resolveAccount(\n validatedInput,\n toConnectCallOptions(options),\n );\n\n return parse(ResolvedAccountArraySchema, res.matches);\n }\n}\n"],"mappings":";;;;;;;;;AAkBA,IAAa,kBAAb,MAA6B;CACzB;CAEA,YAAY,YAA+B;EACvC,KAAKA,UAAU,aAAaC,gBAA6B,WAAW,OAAO;CAC/E;;;;CAKA,MAAM,QACF,OACA,SAC0B;EAC1B,MAAM,iBAAiB,MAAM,2BAA2B,KAAK;EAC7D,MAAM,MAAM,MAAM,KAAKD,QAAQ,eAC3B,gBACA,qBAAqB,OAAO,CAChC;EAEA,OAAO,MAAM,4BAA4B,IAAI,OAAO;CACxD;AACJ"}
@@ -1,9 +1,9 @@
1
+ import { AuthApiTransports } from "../../shared/transports.js";
1
2
  import { PolyesterMutationOptions, PolyesterRequestOptions } from "../../shared/request-options.js";
2
3
  import { SubaccountResolver } from "../subaccount-resolver.js";
3
4
  import { PolyesterRealtime } from "../../realtime/types.js";
4
5
  import { BaseSubscribeInput } from "../../shared/types.js";
5
6
  import { AddressBook, AddressBookEntries, AddressBookEntry, AddressBookTag, AddressBookView, AddressBookViewInvalidated, CopyAddressBookEntryInput, CreateAddressBookEntryInput, CreateAddressBookTagInput, DeleteAddressBookEntryInput, DeleteAddressBookTagInput, GetAddressBookViewInput, InternalTransferWhitelistEntries, ListAddressBookEntriesInput, ListInternalTransferWhitelistEntriesInput, ListTransferCounterpartiesInput, ListTransferDestinationsInput, SubaccountScopedInput, TransferCounterparties, TransferDestinations, UpdateAddressBookEntryInput, UpdateAddressBookTagInput, WithdrawWhitelistView } from "./address-book.schemas.js";
6
- import { Transport } from "@connectrpc/connect";
7
7
  //#region src/services/address-book/address-book.d.ts
8
8
  interface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBookViewInvalidated> {
9
9
  rootAccountPublicId: string;
@@ -13,7 +13,7 @@ interface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBook
13
13
  */
14
14
  declare class AddressBookService {
15
15
  #private;
16
- constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver);
16
+ constructor(transports: AuthApiTransports, realtime: PolyesterRealtime, resolver?: SubaccountResolver);
17
17
  /**
18
18
  * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.
19
19
  */
@@ -1 +1 @@
1
- {"version":3,"file":"address-book.d.ts","names":[],"sources":["../../../src/services/address-book/address-book.ts"],"mappings":";;;;;;;UA8DU,wCAAwC,mBAAmB;EACjE;;;;;cAMS;;EAKG,YAAA,WAAW,WAAW,UAAU,mBAAmB,WAAW;;;;EASpE,UAAU,UAAU,0BAA0B,QAAQ;;;;EAQtD,YACF,QAAO,6BACP,UAAU,0BACX;IAAU,SAAS;IAAoB;;;;;EAepC,YACF,OAAO,6BACP,UAAU,2BACX,QAAQ;;;;EAYL,YACF,OAAO,6BACP,UAAU,2BACX,QAAQ;;;;EAYL,YACF,OAAO,6BACP,UAAU,2BACX;;;;EAQG,UACF,OAAO,2BACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,2BACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,2BACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,2BACP,UAAU,2BACX;;;;EAQG,2BACF,QAAO,iCACP,UAAU,0BACX;IAAU,gBAAgB;IAAwB;;;;;EAe/C,yBACF,QAAO,+BACP,UAAU,0BACX;IAAU,cAAc;IAAsB;;;;;EAe3C,qCACF,QAAO,2CACP,UAAU,0BACX;IAAU,SAAS;IAAkC;;;;;EAkBlD,yBACF,QAAO,uBACP,UAAU,0BACX,QAAQ;;;;;;EAcL,QACF,QAAO,yBACP,UAAU,0BACX,QAAQ;;;;;;EAcX,2BAA2B,OAAO;UAe1B"}
1
+ {"version":3,"file":"address-book.d.ts","names":[],"sources":["../../../src/services/address-book/address-book.ts"],"mappings":";;;;;;;UA+DU,wCAAwC,mBAAmB;EACjE;;;;;cAMS;;EAML,YAAA,YAAY,mBACZ,UAAU,mBACV,WAAW;;;;EAUT,UAAU,UAAU,0BAA0B,QAAQ;;;;EAQtD,YACF,QAAO,6BACP,UAAU,0BACX;IAAU,SAAS;IAAoB;;;;;EAepC,YACF,OAAO,6BACP,UAAU,2BACX,QAAQ;;;;EAYL,YACF,OAAO,6BACP,UAAU,2BACX,QAAQ;;;;EAYL,YACF,OAAO,6BACP,UAAU,2BACX;;;;EAQG,UACF,OAAO,2BACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,2BACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,2BACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,2BACP,UAAU,2BACX;;;;EAQG,2BACF,QAAO,iCACP,UAAU,0BACX;IAAU,gBAAgB;IAAwB;;;;;EAe/C,yBACF,QAAO,+BACP,UAAU,0BACX;IAAU,cAAc;IAAsB;;;;;EAe3C,qCACF,QAAO,2CACP,UAAU,0BACX;IAAU,SAAS;IAAkC;;;;;EAkBlD,yBACF,QAAO,uBACP,UAAU,0BACX,QAAQ;;;;;;EAcL,QACF,QAAO,yBACP,UAAU,0BACX,QAAQ;;;;;;EAcX,2BAA2B,OAAO;UAe1B"}
@@ -13,8 +13,8 @@ var AddressBookService = class {
13
13
  #client;
14
14
  #realtime;
15
15
  #resolver;
16
- constructor(transport, realtime, resolver) {
17
- this.#client = createClient(AddressBookService$1, transport);
16
+ constructor(transports, realtime, resolver) {
17
+ this.#client = createClient(AddressBookService$1, transports.authApi);
18
18
  this.#realtime = realtime;
19
19
  this.#resolver = resolver;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"address-book.js","names":["#client","Proto.AddressBookService","#realtime","#resolver","Proto.AddressBookViewInvalidatedSchema","AddressBookViewInvalidatedSchema"],"sources":["../../../src/services/address-book/address-book.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/address_book_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport type { AccountScopedInput } from \"../../shared/account-scope.js\";\nimport { parse } from \"../../shared/validation.js\";\nimport {\n AddressBookEntriesSchema,\n AddressBookEntrySchema,\n AddressBookSchema,\n AddressBookTagSchema,\n AddressBookViewSchema,\n AddressBookViewInvalidatedSchema,\n CopyAddressBookEntryInputSchema,\n CreateAddressBookEntryInputSchema,\n CreateAddressBookTagInputSchema,\n DeleteAddressBookEntryInputSchema,\n DeleteAddressBookTagInputSchema,\n GetAddressBookViewInputSchema,\n InternalTransferWhitelistEntriesSchema,\n ListAddressBookEntriesInputSchema,\n ListInternalTransferWhitelistEntriesInputSchema,\n ListTransferCounterpartiesInputSchema,\n ListTransferDestinationsInputSchema,\n SubaccountScopedInputSchema,\n TransferCounterpartiesSchema,\n TransferDestinationsSchema,\n UpdateAddressBookEntryInputSchema,\n UpdateAddressBookTagInputSchema,\n WithdrawWhitelistViewSchema,\n type AddressBook,\n type AddressBookEntries,\n type AddressBookEntry,\n type AddressBookTag,\n type AddressBookView,\n type AddressBookViewInvalidated,\n type CopyAddressBookEntryInput,\n type CreateAddressBookEntryInput,\n type CreateAddressBookTagInput,\n type DeleteAddressBookEntryInput,\n type DeleteAddressBookTagInput,\n type GetAddressBookViewInput,\n type InternalTransferWhitelistEntries,\n type ListAddressBookEntriesInput,\n type ListInternalTransferWhitelistEntriesInput,\n type ListTransferCounterpartiesInput,\n type ListTransferDestinationsInput,\n type SubaccountScopedInput,\n type TransferCounterparties,\n type TransferDestinations,\n type UpdateAddressBookEntryInput,\n type UpdateAddressBookTagInput,\n type WithdrawWhitelistView,\n} from \"./address-book.schemas.js\";\n\ninterface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBookViewInvalidated> {\n rootAccountPublicId: string;\n}\n\n/**\n * Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.\n */\nexport class AddressBookService {\n #client: Client<typeof Proto.AddressBookService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver) {\n this.#client = createClient(Proto.AddressBookService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.\n */\n async listBooks(options?: PolyesterRequestOptions): Promise<AddressBook[]> {\n const response = await this.#client.listAddressBooks({}, toConnectCallOptions(options));\n return response.books.map((book) => parse(AddressBookSchema, book));\n }\n\n /**\n * Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.\n */\n async listEntries(\n input: ListAddressBookEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: AddressBookEntries; nextPageToken: string }> {\n const request = parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));\n const response = await this.#client.listAddressBookEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: parse(AddressBookEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.\n */\n async createEntry(\n input: CreateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Updates selected saved-destination metadata using optimistic concurrency, optionally creating and attaching tags in the same request.\n */\n async updateEntry(\n input: UpdateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = parse(UpdateAddressBookEntryInputSchema, input);\n const response = await this.#client.updateAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Deletes one saved destination from the selected address book.\n */\n async deleteEntry(\n input: DeleteAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = parse(DeleteAddressBookEntryInputSchema, input);\n await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));\n }\n\n /**\n * Copies a saved destination into another visible root or subaccount address book.\n */\n async copyEntry(\n input: CopyAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = parse(CopyAddressBookEntryInputSchema, input);\n const response = await this.#client.copyAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Creates a tag in the resolved address book scope for organizing saved destinations.\n */\n async createTag(\n input: CreateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = parse(CreateAddressBookTagInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Updates a tag's name and optional color token.\n */\n async updateTag(\n input: UpdateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = parse(UpdateAddressBookTagInputSchema, input);\n const response = await this.#client.updateAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Deletes a tag and detaches it from any address-book entries.\n */\n async deleteTag(\n input: DeleteAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = parse(DeleteAddressBookTagInputSchema, input);\n await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));\n }\n\n /**\n * Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.\n */\n async listTransferCounterparties(\n input: ListTransferCounterpartiesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ counterparties: TransferCounterparties; truncated: boolean }> {\n const request = parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferCounterparties(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n counterparties: parse(TransferCounterpartiesSchema, response.counterparties),\n truncated: response.truncated,\n };\n }\n\n /**\n * Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.\n */\n async listTransferDestinations(\n input: ListTransferDestinationsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ destinations: TransferDestinations; nextPageToken: string }> {\n const request = parse(ListTransferDestinationsInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferDestinations(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n destinations: parse(TransferDestinationsSchema, response.destinations),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.\n */\n async listInternalTransferWhitelistEntries(\n input: ListInternalTransferWhitelistEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: InternalTransferWhitelistEntries; nextPageToken: string }> {\n const request = parse(\n ListInternalTransferWhitelistEntriesInputSchema,\n this.resolveInput(input),\n );\n const response = await this.#client.listInternalTransferWhitelistEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: parse(InternalTransferWhitelistEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.\n */\n async getWithdrawWhitelistView(\n input: SubaccountScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<WithdrawWhitelistView | null> {\n const request = parse(SubaccountScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.getWithdrawWhitelistView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.view ? parse(WithdrawWhitelistViewSchema, response.view) : null;\n }\n\n /**\n * Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.\n *\n * Pass `minimumViewRevision` (from an invalidation event's `viewRevision`) to make the server wait for its projection to reach that revision instead of returning an older view.\n */\n async getView(\n input: GetAddressBookViewInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<AddressBookView> {\n const request = parse(GetAddressBookViewInputSchema, this.resolveInput(input));\n const response = await this.#client.getAddressBookView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return parse(AddressBookViewSchema, response);\n }\n\n /**\n * Subscribes to scoped address-book view invalidation signals for a root account.\n *\n * Use `scope` and `invalidatedAt` for diagnostics and ordering, then refetch `getView` for the canonical aggregate (entries, tags, recent destinations, whitelist), passing the event's `viewRevision` as `minimumViewRevision` to avoid reading an older view. Do not patch individual rows from these events.\n */\n subscribeViewInvalidations(input: SubscribeViewInvalidationsInput): () => void {\n const channel = `private:auth:address-books:${input.rootAccountPublicId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.AddressBookViewInvalidatedSchema,\n onPublication: (data) => {\n input.onEvent(parse(AddressBookViewInvalidatedSchema, data));\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n\n private resolveInput<TInput extends AccountScopedInput>(input: TInput): TInput {\n return resolveAccountScopedInput(input, this.#resolver);\n }\n}\n"],"mappings":";;;;;;;;;;;AAqEA,IAAa,qBAAb,MAAgC;CAC5B;CACA;CACA;CAEA,YAAY,WAAsB,UAA6B,UAA+B;EAC1F,KAAKA,UAAU,aAAaC,sBAA0B,SAAS;EAC/D,KAAKC,YAAY;EACjB,KAAKC,YAAY;CACrB;;;;CAKA,MAAM,UAAU,SAA2D;EAEvE,QAAO,MADgB,KAAKH,QAAQ,iBAAiB,CAAC,GAAG,qBAAqB,OAAO,CAAC,EAAA,CACtE,MAAM,KAAK,SAAS,MAAM,mBAAmB,IAAI,CAAC;CACtE;;;;CAKA,MAAM,YACF,QAAqC,CAAC,GACtC,SAC+D;EAC/D,MAAM,UAAU,MAAM,mCAAmC,KAAK,aAAa,KAAK,CAAC;EACjF,MAAM,WAAW,MAAM,KAAKA,QAAQ,uBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,SAAS,MAAM,0BAA0B,SAAS,OAAO;GACzD,eAAe,SAAS;EAC5B;CACJ;;;;CAKA,MAAM,YACF,OACA,SACgC;EAChC,MAAM,UAAU,MAAM,mCAAmC,KAAK,aAAa,KAAK,CAAC;EACjF,MAAM,WAAW,MAAM,KAAKA,QAAQ,uBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,QAAQ,MAAM,wBAAwB,SAAS,KAAK,IAAI;CAC5E;;;;CAKA,MAAM,YACF,OACA,SACgC;EAChC,MAAM,UAAU,MAAM,mCAAmC,KAAK;EAC9D,MAAM,WAAW,MAAM,KAAKA,QAAQ,uBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,QAAQ,MAAM,wBAAwB,SAAS,KAAK,IAAI;CAC5E;;;;CAKA,MAAM,YACF,OACA,SACa;EACb,MAAM,UAAU,MAAM,mCAAmC,KAAK;EAC9D,MAAM,KAAKA,QAAQ,uBAAuB,SAAS,qBAAqB,OAAO,CAAC;CACpF;;;;CAKA,MAAM,UACF,OACA,SACgC;EAChC,MAAM,UAAU,MAAM,iCAAiC,KAAK;EAC5D,MAAM,WAAW,MAAM,KAAKA,QAAQ,qBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,QAAQ,MAAM,wBAAwB,SAAS,KAAK,IAAI;CAC5E;;;;CAKA,MAAM,UACF,OACA,SAC8B;EAC9B,MAAM,UAAU,MAAM,iCAAiC,KAAK,aAAa,KAAK,CAAC;EAC/E,MAAM,WAAW,MAAM,KAAKA,QAAQ,qBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,MAAM,MAAM,sBAAsB,SAAS,GAAG,IAAI;CACtE;;;;CAKA,MAAM,UACF,OACA,SAC8B;EAC9B,MAAM,UAAU,MAAM,iCAAiC,KAAK;EAC5D,MAAM,WAAW,MAAM,KAAKA,QAAQ,qBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,MAAM,MAAM,sBAAsB,SAAS,GAAG,IAAI;CACtE;;;;CAKA,MAAM,UACF,OACA,SACa;EACb,MAAM,UAAU,MAAM,iCAAiC,KAAK;EAC5D,MAAM,KAAKA,QAAQ,qBAAqB,SAAS,qBAAqB,OAAO,CAAC;CAClF;;;;CAKA,MAAM,2BACF,QAAyC,CAAC,GAC1C,SACuE;EACvE,MAAM,UAAU,MAAM,uCAAuC,KAAK,aAAa,KAAK,CAAC;EACrF,MAAM,WAAW,MAAM,KAAKA,QAAQ,2BAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,gBAAgB,MAAM,8BAA8B,SAAS,cAAc;GAC3E,WAAW,SAAS;EACxB;CACJ;;;;CAKA,MAAM,yBACF,QAAuC,CAAC,GACxC,SACsE;EACtE,MAAM,UAAU,MAAM,qCAAqC,KAAK,aAAa,KAAK,CAAC;EACnF,MAAM,WAAW,MAAM,KAAKA,QAAQ,yBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,cAAc,MAAM,4BAA4B,SAAS,YAAY;GACrE,eAAe,SAAS;EAC5B;CACJ;;;;CAKA,MAAM,qCACF,QAAmD,CAAC,GACpD,SAC6E;EAC7E,MAAM,UAAU,MACZ,iDACA,KAAK,aAAa,KAAK,CAC3B;EACA,MAAM,WAAW,MAAM,KAAKA,QAAQ,qCAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,SAAS,MAAM,wCAAwC,SAAS,OAAO;GACvE,eAAe,SAAS;EAC5B;CACJ;;;;CAKA,MAAM,yBACF,QAA+B,CAAC,GAChC,SACqC;EACrC,MAAM,UAAU,MAAM,6BAA6B,KAAK,aAAa,KAAK,CAAC;EAC3E,MAAM,WAAW,MAAM,KAAKA,QAAQ,yBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,OAAO,MAAM,6BAA6B,SAAS,IAAI,IAAI;CAC/E;;;;;;CAOA,MAAM,QACF,QAAiC,CAAC,GAClC,SACwB;EACxB,MAAM,UAAU,MAAM,+BAA+B,KAAK,aAAa,KAAK,CAAC;EAC7E,MAAM,WAAW,MAAM,KAAKA,QAAQ,mBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,uBAAuB,QAAQ;CAChD;;;;;;CAOA,2BAA2B,OAAoD;EAC3E,MAAM,UAAU,8BAA8B,MAAM,oBAAoB;EAExE,OAAO,KAAKE,UAAU,oBAAoB;GACtC;GACA,QAAQE;GACR,gBAAgB,SAAS;IACrB,MAAM,QAAQ,MAAMC,oCAAkC,IAAI,CAAC;GAC/D;GACA,mBAAmB,MAAM,SAAS;GAClC,sBAAsB,MAAM,UAAU;GACtC,SAAS,MAAM;EACnB,CAAC;CACL;CAEA,aAAwD,OAAuB;EAC3E,OAAO,0BAA0B,OAAO,KAAKF,SAAS;CAC1D;AACJ"}
1
+ {"version":3,"file":"address-book.js","names":["#client","Proto.AddressBookService","#realtime","#resolver","Proto.AddressBookViewInvalidatedSchema","AddressBookViewInvalidatedSchema"],"sources":["../../../src/services/address-book/address-book.ts"],"sourcesContent":["import { createClient, type Client } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/address_book_pb.js\";\nimport type { AuthApiTransports } from \"../../shared/transports.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport type { AccountScopedInput } from \"../../shared/account-scope.js\";\nimport { parse } from \"../../shared/validation.js\";\nimport {\n AddressBookEntriesSchema,\n AddressBookEntrySchema,\n AddressBookSchema,\n AddressBookTagSchema,\n AddressBookViewSchema,\n AddressBookViewInvalidatedSchema,\n CopyAddressBookEntryInputSchema,\n CreateAddressBookEntryInputSchema,\n CreateAddressBookTagInputSchema,\n DeleteAddressBookEntryInputSchema,\n DeleteAddressBookTagInputSchema,\n GetAddressBookViewInputSchema,\n InternalTransferWhitelistEntriesSchema,\n ListAddressBookEntriesInputSchema,\n ListInternalTransferWhitelistEntriesInputSchema,\n ListTransferCounterpartiesInputSchema,\n ListTransferDestinationsInputSchema,\n SubaccountScopedInputSchema,\n TransferCounterpartiesSchema,\n TransferDestinationsSchema,\n UpdateAddressBookEntryInputSchema,\n UpdateAddressBookTagInputSchema,\n WithdrawWhitelistViewSchema,\n type AddressBook,\n type AddressBookEntries,\n type AddressBookEntry,\n type AddressBookTag,\n type AddressBookView,\n type AddressBookViewInvalidated,\n type CopyAddressBookEntryInput,\n type CreateAddressBookEntryInput,\n type CreateAddressBookTagInput,\n type DeleteAddressBookEntryInput,\n type DeleteAddressBookTagInput,\n type GetAddressBookViewInput,\n type InternalTransferWhitelistEntries,\n type ListAddressBookEntriesInput,\n type ListInternalTransferWhitelistEntriesInput,\n type ListTransferCounterpartiesInput,\n type ListTransferDestinationsInput,\n type SubaccountScopedInput,\n type TransferCounterparties,\n type TransferDestinations,\n type UpdateAddressBookEntryInput,\n type UpdateAddressBookTagInput,\n type WithdrawWhitelistView,\n} from \"./address-book.schemas.js\";\n\ninterface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBookViewInvalidated> {\n rootAccountPublicId: string;\n}\n\n/**\n * Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.\n */\nexport class AddressBookService {\n #client: Client<typeof Proto.AddressBookService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(\n transports: AuthApiTransports,\n realtime: PolyesterRealtime,\n resolver?: SubaccountResolver,\n ) {\n this.#client = createClient(Proto.AddressBookService, transports.authApi);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.\n */\n async listBooks(options?: PolyesterRequestOptions): Promise<AddressBook[]> {\n const response = await this.#client.listAddressBooks({}, toConnectCallOptions(options));\n return response.books.map((book) => parse(AddressBookSchema, book));\n }\n\n /**\n * Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.\n */\n async listEntries(\n input: ListAddressBookEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: AddressBookEntries; nextPageToken: string }> {\n const request = parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));\n const response = await this.#client.listAddressBookEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: parse(AddressBookEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.\n */\n async createEntry(\n input: CreateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Updates selected saved-destination metadata using optimistic concurrency, optionally creating and attaching tags in the same request.\n */\n async updateEntry(\n input: UpdateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = parse(UpdateAddressBookEntryInputSchema, input);\n const response = await this.#client.updateAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Deletes one saved destination from the selected address book.\n */\n async deleteEntry(\n input: DeleteAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = parse(DeleteAddressBookEntryInputSchema, input);\n await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));\n }\n\n /**\n * Copies a saved destination into another visible root or subaccount address book.\n */\n async copyEntry(\n input: CopyAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = parse(CopyAddressBookEntryInputSchema, input);\n const response = await this.#client.copyAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Creates a tag in the resolved address book scope for organizing saved destinations.\n */\n async createTag(\n input: CreateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = parse(CreateAddressBookTagInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Updates a tag's name and optional color token.\n */\n async updateTag(\n input: UpdateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = parse(UpdateAddressBookTagInputSchema, input);\n const response = await this.#client.updateAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Deletes a tag and detaches it from any address-book entries.\n */\n async deleteTag(\n input: DeleteAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = parse(DeleteAddressBookTagInputSchema, input);\n await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));\n }\n\n /**\n * Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.\n */\n async listTransferCounterparties(\n input: ListTransferCounterpartiesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ counterparties: TransferCounterparties; truncated: boolean }> {\n const request = parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferCounterparties(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n counterparties: parse(TransferCounterpartiesSchema, response.counterparties),\n truncated: response.truncated,\n };\n }\n\n /**\n * Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.\n */\n async listTransferDestinations(\n input: ListTransferDestinationsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ destinations: TransferDestinations; nextPageToken: string }> {\n const request = parse(ListTransferDestinationsInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferDestinations(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n destinations: parse(TransferDestinationsSchema, response.destinations),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.\n */\n async listInternalTransferWhitelistEntries(\n input: ListInternalTransferWhitelistEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: InternalTransferWhitelistEntries; nextPageToken: string }> {\n const request = parse(\n ListInternalTransferWhitelistEntriesInputSchema,\n this.resolveInput(input),\n );\n const response = await this.#client.listInternalTransferWhitelistEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: parse(InternalTransferWhitelistEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.\n */\n async getWithdrawWhitelistView(\n input: SubaccountScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<WithdrawWhitelistView | null> {\n const request = parse(SubaccountScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.getWithdrawWhitelistView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.view ? parse(WithdrawWhitelistViewSchema, response.view) : null;\n }\n\n /**\n * Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.\n *\n * Pass `minimumViewRevision` (from an invalidation event's `viewRevision`) to make the server wait for its projection to reach that revision instead of returning an older view.\n */\n async getView(\n input: GetAddressBookViewInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<AddressBookView> {\n const request = parse(GetAddressBookViewInputSchema, this.resolveInput(input));\n const response = await this.#client.getAddressBookView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return parse(AddressBookViewSchema, response);\n }\n\n /**\n * Subscribes to scoped address-book view invalidation signals for a root account.\n *\n * Use `scope` and `invalidatedAt` for diagnostics and ordering, then refetch `getView` for the canonical aggregate (entries, tags, recent destinations, whitelist), passing the event's `viewRevision` as `minimumViewRevision` to avoid reading an older view. Do not patch individual rows from these events.\n */\n subscribeViewInvalidations(input: SubscribeViewInvalidationsInput): () => void {\n const channel = `private:auth:address-books:${input.rootAccountPublicId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.AddressBookViewInvalidatedSchema,\n onPublication: (data) => {\n input.onEvent(parse(AddressBookViewInvalidatedSchema, data));\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n\n private resolveInput<TInput extends AccountScopedInput>(input: TInput): TInput {\n return resolveAccountScopedInput(input, this.#resolver);\n }\n}\n"],"mappings":";;;;;;;;;;;AAsEA,IAAa,qBAAb,MAAgC;CAC5B;CACA;CACA;CAEA,YACI,YACA,UACA,UACF;EACE,KAAKA,UAAU,aAAaC,sBAA0B,WAAW,OAAO;EACxE,KAAKC,YAAY;EACjB,KAAKC,YAAY;CACrB;;;;CAKA,MAAM,UAAU,SAA2D;EAEvE,QAAO,MADgB,KAAKH,QAAQ,iBAAiB,CAAC,GAAG,qBAAqB,OAAO,CAAC,EAAA,CACtE,MAAM,KAAK,SAAS,MAAM,mBAAmB,IAAI,CAAC;CACtE;;;;CAKA,MAAM,YACF,QAAqC,CAAC,GACtC,SAC+D;EAC/D,MAAM,UAAU,MAAM,mCAAmC,KAAK,aAAa,KAAK,CAAC;EACjF,MAAM,WAAW,MAAM,KAAKA,QAAQ,uBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,SAAS,MAAM,0BAA0B,SAAS,OAAO;GACzD,eAAe,SAAS;EAC5B;CACJ;;;;CAKA,MAAM,YACF,OACA,SACgC;EAChC,MAAM,UAAU,MAAM,mCAAmC,KAAK,aAAa,KAAK,CAAC;EACjF,MAAM,WAAW,MAAM,KAAKA,QAAQ,uBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,QAAQ,MAAM,wBAAwB,SAAS,KAAK,IAAI;CAC5E;;;;CAKA,MAAM,YACF,OACA,SACgC;EAChC,MAAM,UAAU,MAAM,mCAAmC,KAAK;EAC9D,MAAM,WAAW,MAAM,KAAKA,QAAQ,uBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,QAAQ,MAAM,wBAAwB,SAAS,KAAK,IAAI;CAC5E;;;;CAKA,MAAM,YACF,OACA,SACa;EACb,MAAM,UAAU,MAAM,mCAAmC,KAAK;EAC9D,MAAM,KAAKA,QAAQ,uBAAuB,SAAS,qBAAqB,OAAO,CAAC;CACpF;;;;CAKA,MAAM,UACF,OACA,SACgC;EAChC,MAAM,UAAU,MAAM,iCAAiC,KAAK;EAC5D,MAAM,WAAW,MAAM,KAAKA,QAAQ,qBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,QAAQ,MAAM,wBAAwB,SAAS,KAAK,IAAI;CAC5E;;;;CAKA,MAAM,UACF,OACA,SAC8B;EAC9B,MAAM,UAAU,MAAM,iCAAiC,KAAK,aAAa,KAAK,CAAC;EAC/E,MAAM,WAAW,MAAM,KAAKA,QAAQ,qBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,MAAM,MAAM,sBAAsB,SAAS,GAAG,IAAI;CACtE;;;;CAKA,MAAM,UACF,OACA,SAC8B;EAC9B,MAAM,UAAU,MAAM,iCAAiC,KAAK;EAC5D,MAAM,WAAW,MAAM,KAAKA,QAAQ,qBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,MAAM,MAAM,sBAAsB,SAAS,GAAG,IAAI;CACtE;;;;CAKA,MAAM,UACF,OACA,SACa;EACb,MAAM,UAAU,MAAM,iCAAiC,KAAK;EAC5D,MAAM,KAAKA,QAAQ,qBAAqB,SAAS,qBAAqB,OAAO,CAAC;CAClF;;;;CAKA,MAAM,2BACF,QAAyC,CAAC,GAC1C,SACuE;EACvE,MAAM,UAAU,MAAM,uCAAuC,KAAK,aAAa,KAAK,CAAC;EACrF,MAAM,WAAW,MAAM,KAAKA,QAAQ,2BAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,gBAAgB,MAAM,8BAA8B,SAAS,cAAc;GAC3E,WAAW,SAAS;EACxB;CACJ;;;;CAKA,MAAM,yBACF,QAAuC,CAAC,GACxC,SACsE;EACtE,MAAM,UAAU,MAAM,qCAAqC,KAAK,aAAa,KAAK,CAAC;EACnF,MAAM,WAAW,MAAM,KAAKA,QAAQ,yBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,cAAc,MAAM,4BAA4B,SAAS,YAAY;GACrE,eAAe,SAAS;EAC5B;CACJ;;;;CAKA,MAAM,qCACF,QAAmD,CAAC,GACpD,SAC6E;EAC7E,MAAM,UAAU,MACZ,iDACA,KAAK,aAAa,KAAK,CAC3B;EACA,MAAM,WAAW,MAAM,KAAKA,QAAQ,qCAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,SAAS,MAAM,wCAAwC,SAAS,OAAO;GACvE,eAAe,SAAS;EAC5B;CACJ;;;;CAKA,MAAM,yBACF,QAA+B,CAAC,GAChC,SACqC;EACrC,MAAM,UAAU,MAAM,6BAA6B,KAAK,aAAa,KAAK,CAAC;EAC3E,MAAM,WAAW,MAAM,KAAKA,QAAQ,yBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,SAAS,OAAO,MAAM,6BAA6B,SAAS,IAAI,IAAI;CAC/E;;;;;;CAOA,MAAM,QACF,QAAiC,CAAC,GAClC,SACwB;EACxB,MAAM,UAAU,MAAM,+BAA+B,KAAK,aAAa,KAAK,CAAC;EAC7E,MAAM,WAAW,MAAM,KAAKA,QAAQ,mBAChC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,uBAAuB,QAAQ;CAChD;;;;;;CAOA,2BAA2B,OAAoD;EAC3E,MAAM,UAAU,8BAA8B,MAAM,oBAAoB;EAExE,OAAO,KAAKE,UAAU,oBAAoB;GACtC;GACA,QAAQE;GACR,gBAAgB,SAAS;IACrB,MAAM,QAAQ,MAAMC,oCAAkC,IAAI,CAAC;GAC/D;GACA,mBAAmB,MAAM,SAAS;GAClC,sBAAsB,MAAM,UAAU;GACtC,SAAS,MAAM;EACnB,CAAC;CACL;CAEA,aAAwD,OAAuB;EAC3E,OAAO,0BAA0B,OAAO,KAAKF,SAAS;CAC1D;AACJ"}
@@ -1,3 +1,4 @@
1
+ import { AuthApiTransports } from "../../shared/transports.js";
1
2
  import { PolyesterMutationOptions, PolyesterRequestOptions } from "../../shared/request-options.js";
2
3
  import { SubaccountResolver } from "../subaccount-resolver.js";
3
4
  import { PolyesterRealtime } from "../../realtime/types.js";
@@ -6,7 +7,6 @@ import { BaseSubscribeInput } from "../../shared/types.js";
6
7
  import { ApiKeyPoliciesService } from "../policies/api-key-policies/api-key-policies.js";
7
8
  import "../policies/api-key-policies/index.js";
8
9
  import { ApiKey, ApiKeyIdInputSchema, ApiKeysCreateInputSchema, ApiKeysListInputSchema, ApiKeysUpdateInputSchema } from "./api-keys.schemas.js";
9
- import { Transport } from "@connectrpc/connect";
10
10
  import * as v from "valibot";
11
11
  //#region src/services/api-keys/api-keys.d.ts
12
12
  interface SubscribeApiKeysInput extends BaseSubscribeInput<ApiKey> {
@@ -18,7 +18,7 @@ interface SubscribeApiKeysInput extends BaseSubscribeInput<ApiKey> {
18
18
  declare class ApiKeysService {
19
19
  #private;
20
20
  readonly policies: ApiKeyPoliciesService;
21
- constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver);
21
+ constructor(transports: AuthApiTransports, realtime: PolyesterRealtime, resolver?: SubaccountResolver);
22
22
  /**
23
23
  * Returns non-revoked API keys owned by the caller, newest first, optionally scoped through an explicit or resolver-provided subaccount ID.
24
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.d.ts","names":[],"sources":["../../../src/services/api-keys/api-keys.ts"],"mappings":";;;;;;;;;;;UA0BU,8BAA8B,mBAAmB;EACvD;;;;;cAMS;;WACA,UAAU;EAMP,YAAA,WAAW,WAAW,UAAU,mBAAmB,WAAW;;;;EAUpE,KACF,SAAQ,EAAE,kBAAkB,yBAC5B,UAAU,0BACX,QAAQ;;;;EAcL,IACF,OAAO,EAAE,kBAAkB,sBAC3B,UAAU,0BACX,QAAQ;;;;EASL,OACF,SAAS,EAAE,kBAAkB,2BAC7B,UAAU,2BACX,QAAQ;;;;EAaL,OACF,OAAO,EAAE,kBAAkB,sBAC3B,UAAU,2BACX;;;;EAQG,OACF,SAAS,EAAE,kBAAkB,2BAC7B,UAAU,2BACX,QAAQ;;;;EAYL,mBAAmB;IACrB;MAAa;MAAa,OAAO;;IACjC;MAAa;MAAa,OAAO;;;;;;EAkBrC,UAAU,OAAO"}
1
+ {"version":3,"file":"api-keys.d.ts","names":[],"sources":["../../../src/services/api-keys/api-keys.ts"],"mappings":";;;;;;;;;;;UA2BU,8BAA8B,mBAAmB;EACvD;;;;;cAMS;;WACA,UAAU;EAOf,YAAA,YAAY,mBACZ,UAAU,mBACV,WAAW;;;;EAWT,KACF,SAAQ,EAAE,kBAAkB,yBAC5B,UAAU,0BACX,QAAQ;;;;EAcL,IACF,OAAO,EAAE,kBAAkB,sBAC3B,UAAU,0BACX,QAAQ;;;;EASL,OACF,SAAS,EAAE,kBAAkB,2BAC7B,UAAU,2BACX,QAAQ;;;;EAaL,OACF,OAAO,EAAE,kBAAkB,sBAC3B,UAAU,2BACX;;;;EAQG,OACF,SAAS,EAAE,kBAAkB,2BAC7B,UAAU,2BACX,QAAQ;;;;EAYL,mBAAmB;IACrB;MAAa;MAAa,OAAO;;IACjC;MAAa;MAAa,OAAO;;;;;;EAkBrC,UAAU,OAAO"}
@@ -17,9 +17,9 @@ var ApiKeysService = class {
17
17
  #client;
18
18
  #realtime;
19
19
  #resolver;
20
- constructor(transport, realtime, resolver) {
21
- this.policies = new ApiKeyPoliciesService(transport);
22
- this.#client = createClient(ApiKeyService, transport);
20
+ constructor(transports, realtime, resolver) {
21
+ this.policies = new ApiKeyPoliciesService(transports);
22
+ this.#client = createClient(ApiKeyService, transports.authApi);
23
23
  this.#realtime = realtime;
24
24
  this.#resolver = resolver;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"api-keys.js","names":["#client","Proto.ApiKeyService","#realtime","#resolver","ApiKeySchema","Proto.ApiKeySchema"],"sources":["../../../src/services/api-keys/api-keys.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/api_keys_pb.js\";\nimport type * as v from \"valibot\";\nimport { parse } from \"../../shared/validation.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { bytesToHex } from \"@noble/hashes/utils.js\";\nimport { keygenAsync } from \"@noble/ed25519\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { ApiKeyPoliciesService } from \"../policies/api-key-policies/index.js\";\nimport {\n ApiKeyIdInputSchema,\n ApiKeysListInputSchema,\n ApiKeysCreateInputSchema,\n ApiKeysUpdateInputSchema,\n ApiKeySchema,\n ApiKeysSchema,\n type ApiKey,\n} from \"./api-keys.schemas.js\";\n\ninterface SubscribeApiKeysInput extends BaseSubscribeInput<ApiKey> {\n accountId: string;\n}\n\n/**\n * Manages API key metadata, client-generated Ed25519 keypairs, policies, and realtime API key updates.\n */\nexport class ApiKeysService {\n readonly policies: ApiKeyPoliciesService;\n\n #client: Client<typeof Proto.ApiKeyService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver) {\n this.policies = new ApiKeyPoliciesService(transport);\n this.#client = createClient(Proto.ApiKeyService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns non-revoked API keys owned by the caller, newest first, optionally scoped through an explicit or resolver-provided subaccount ID.\n */\n async list(\n params: v.InferInput<typeof ApiKeysListInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<ApiKey[]> {\n const resolved = resolveAccountScopedInput(params, this.#resolver);\n const validatedParams = parse(ApiKeysListInputSchema, resolved);\n const res = await this.#client.listApiKeys(\n removeUndefined(validatedParams),\n toConnectCallOptions(options),\n );\n\n return parse(ApiKeysSchema, res.apiKeys);\n }\n\n /**\n * Fetches one caller-owned API key by ak_... key ID and returns null when no matching key is returned.\n */\n async get(\n input: v.InferInput<typeof ApiKeyIdInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<ApiKey | null> {\n const validatedInput = parse(ApiKeyIdInputSchema, input);\n const res = await this.#client.getApiKey(validatedInput, toConnectCallOptions(options));\n return res.apiKey ? parse(ApiKeySchema, res.apiKey) : null;\n }\n\n /**\n * Creates API key metadata using a client-generated Ed25519 public key; security settings may require MFA fresh step-up and retrying with stepUpToken.\n */\n async create(\n payload: v.InferInput<typeof ApiKeysCreateInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKey | null> {\n const resolved = resolveAccountScopedInput(payload, this.#resolver);\n const validatedPayload = parse(ApiKeysCreateInputSchema, resolved);\n const res = await this.#client.createApiKey(\n removeUndefined(validatedPayload),\n toConnectCallOptions(options),\n );\n return res.apiKey ? parse(ApiKeySchema, res.apiKey) : null;\n }\n\n /**\n * Permanently revokes the specified API key; revoked keys cannot authenticate again.\n */\n async delete(\n input: v.InferInput<typeof ApiKeyIdInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const validatedInput = parse(ApiKeyIdInputSchema, input);\n await this.#client.deleteApiKey(validatedInput, toConnectCallOptions(options));\n }\n\n /**\n * Updates mutable key metadata, ACTIVE/DISABLED status, IP whitelist replacement/clearing, and optional expiry; revocation must use delete.\n */\n async update(\n payload: v.InferInput<typeof ApiKeysUpdateInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKey | null> {\n const validatedPayload = parse(ApiKeysUpdateInputSchema, payload);\n const res = await this.#client.updateApiKey(\n removeUndefined(validatedPayload),\n toConnectCallOptions(options),\n );\n return res.apiKey ? parse(ApiKeySchema, res.apiKey) : null;\n }\n\n /**\n * Generates an Ed25519 keypair locally and returns public and secret key material as both hex strings and byte arrays; only the public key should be sent to the API.\n */\n async generateKeypair(): Promise<{\n publicKey: { hex: string; bytes: Uint8Array };\n secretKey: { hex: string; bytes: Uint8Array };\n }> {\n const { secretKey, publicKey } = await keygenAsync();\n return {\n publicKey: {\n hex: bytesToHex(publicKey),\n bytes: publicKey,\n },\n secretKey: {\n hex: bytesToHex(secretKey),\n bytes: secretKey,\n },\n };\n }\n\n /**\n * Subscribes to private API key updates for an account and emits normalized API key metadata from realtime protobuf publications.\n */\n subscribe(input: SubscribeApiKeysInput) {\n const channel = `private:auth:api-keys:${input.accountId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.ApiKeySchema,\n onPublication: (data) => {\n const apiKey = parse(ApiKeySchema, data);\n input.onEvent(apiKey);\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAiCA,IAAa,iBAAb,MAA4B;CACxB;CAEA;CACA;CACA;CAEA,YAAY,WAAsB,UAA6B,UAA+B;EAC1F,KAAK,WAAW,IAAI,sBAAsB,SAAS;EACnD,KAAKA,UAAU,aAAaC,eAAqB,SAAS;EAC1D,KAAKC,YAAY;EACjB,KAAKC,YAAY;CACrB;;;;CAKA,MAAM,KACF,SAAsD,CAAC,GACvD,SACiB;EACjB,MAAM,WAAW,0BAA0B,QAAQ,KAAKA,SAAS;EACjE,MAAM,kBAAkB,MAAM,wBAAwB,QAAQ;EAC9D,MAAM,MAAM,MAAM,KAAKH,QAAQ,YAC3B,gBAAgB,eAAe,GAC/B,qBAAqB,OAAO,CAChC;EAEA,OAAO,MAAM,eAAe,IAAI,OAAO;CAC3C;;;;CAKA,MAAM,IACF,OACA,SACsB;EACtB,MAAM,iBAAiB,MAAM,qBAAqB,KAAK;EACvD,MAAM,MAAM,MAAM,KAAKA,QAAQ,UAAU,gBAAgB,qBAAqB,OAAO,CAAC;EACtF,OAAO,IAAI,SAAS,MAAMI,gBAAc,IAAI,MAAM,IAAI;CAC1D;;;;CAKA,MAAM,OACF,SACA,SACsB;EACtB,MAAM,WAAW,0BAA0B,SAAS,KAAKD,SAAS;EAClE,MAAM,mBAAmB,MAAM,0BAA0B,QAAQ;EACjE,MAAM,MAAM,MAAM,KAAKH,QAAQ,aAC3B,gBAAgB,gBAAgB,GAChC,qBAAqB,OAAO,CAChC;EACA,OAAO,IAAI,SAAS,MAAMI,gBAAc,IAAI,MAAM,IAAI;CAC1D;;;;CAKA,MAAM,OACF,OACA,SACa;EACb,MAAM,iBAAiB,MAAM,qBAAqB,KAAK;EACvD,MAAM,KAAKJ,QAAQ,aAAa,gBAAgB,qBAAqB,OAAO,CAAC;CACjF;;;;CAKA,MAAM,OACF,SACA,SACsB;EACtB,MAAM,mBAAmB,MAAM,0BAA0B,OAAO;EAChE,MAAM,MAAM,MAAM,KAAKA,QAAQ,aAC3B,gBAAgB,gBAAgB,GAChC,qBAAqB,OAAO,CAChC;EACA,OAAO,IAAI,SAAS,MAAMI,gBAAc,IAAI,MAAM,IAAI;CAC1D;;;;CAKA,MAAM,kBAGH;EACC,MAAM,EAAE,WAAW,cAAc,MAAM,YAAY;EACnD,OAAO;GACH,WAAW;IACP,KAAK,WAAW,SAAS;IACzB,OAAO;GACX;GACA,WAAW;IACP,KAAK,WAAW,SAAS;IACzB,OAAO;GACX;EACJ;CACJ;;;;CAKA,UAAU,OAA8B;EACpC,MAAM,UAAU,yBAAyB,MAAM,UAAU;EAEzD,OAAO,KAAKF,UAAU,oBAAoB;GACtC;GACA,QAAQG;GACR,gBAAgB,SAAS;IACrB,MAAM,SAAS,MAAMD,gBAAc,IAAI;IACvC,MAAM,QAAQ,MAAM;GACxB;GACA,mBAAmB,MAAM,SAAS;GAClC,sBAAsB,MAAM,UAAU;GACtC,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
1
+ {"version":3,"file":"api-keys.js","names":["#client","Proto.ApiKeyService","#realtime","#resolver","ApiKeySchema","Proto.ApiKeySchema"],"sources":["../../../src/services/api-keys/api-keys.ts"],"sourcesContent":["import { createClient, type Client } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/api_keys_pb.js\";\nimport type { AuthApiTransports } from \"../../shared/transports.js\";\nimport type * as v from \"valibot\";\nimport { parse } from \"../../shared/validation.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { bytesToHex } from \"@noble/hashes/utils.js\";\nimport { keygenAsync } from \"@noble/ed25519\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { ApiKeyPoliciesService } from \"../policies/api-key-policies/index.js\";\nimport {\n ApiKeyIdInputSchema,\n ApiKeysListInputSchema,\n ApiKeysCreateInputSchema,\n ApiKeysUpdateInputSchema,\n ApiKeySchema,\n ApiKeysSchema,\n type ApiKey,\n} from \"./api-keys.schemas.js\";\n\ninterface SubscribeApiKeysInput extends BaseSubscribeInput<ApiKey> {\n accountId: string;\n}\n\n/**\n * Manages API key metadata, client-generated Ed25519 keypairs, policies, and realtime API key updates.\n */\nexport class ApiKeysService {\n readonly policies: ApiKeyPoliciesService;\n\n #client: Client<typeof Proto.ApiKeyService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(\n transports: AuthApiTransports,\n realtime: PolyesterRealtime,\n resolver?: SubaccountResolver,\n ) {\n this.policies = new ApiKeyPoliciesService(transports);\n this.#client = createClient(Proto.ApiKeyService, transports.authApi);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns non-revoked API keys owned by the caller, newest first, optionally scoped through an explicit or resolver-provided subaccount ID.\n */\n async list(\n params: v.InferInput<typeof ApiKeysListInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<ApiKey[]> {\n const resolved = resolveAccountScopedInput(params, this.#resolver);\n const validatedParams = parse(ApiKeysListInputSchema, resolved);\n const res = await this.#client.listApiKeys(\n removeUndefined(validatedParams),\n toConnectCallOptions(options),\n );\n\n return parse(ApiKeysSchema, res.apiKeys);\n }\n\n /**\n * Fetches one caller-owned API key by ak_... key ID and returns null when no matching key is returned.\n */\n async get(\n input: v.InferInput<typeof ApiKeyIdInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<ApiKey | null> {\n const validatedInput = parse(ApiKeyIdInputSchema, input);\n const res = await this.#client.getApiKey(validatedInput, toConnectCallOptions(options));\n return res.apiKey ? parse(ApiKeySchema, res.apiKey) : null;\n }\n\n /**\n * Creates API key metadata using a client-generated Ed25519 public key; security settings may require MFA fresh step-up and retrying with stepUpToken.\n */\n async create(\n payload: v.InferInput<typeof ApiKeysCreateInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKey | null> {\n const resolved = resolveAccountScopedInput(payload, this.#resolver);\n const validatedPayload = parse(ApiKeysCreateInputSchema, resolved);\n const res = await this.#client.createApiKey(\n removeUndefined(validatedPayload),\n toConnectCallOptions(options),\n );\n return res.apiKey ? parse(ApiKeySchema, res.apiKey) : null;\n }\n\n /**\n * Permanently revokes the specified API key; revoked keys cannot authenticate again.\n */\n async delete(\n input: v.InferInput<typeof ApiKeyIdInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const validatedInput = parse(ApiKeyIdInputSchema, input);\n await this.#client.deleteApiKey(validatedInput, toConnectCallOptions(options));\n }\n\n /**\n * Updates mutable key metadata, ACTIVE/DISABLED status, IP whitelist replacement/clearing, and optional expiry; revocation must use delete.\n */\n async update(\n payload: v.InferInput<typeof ApiKeysUpdateInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKey | null> {\n const validatedPayload = parse(ApiKeysUpdateInputSchema, payload);\n const res = await this.#client.updateApiKey(\n removeUndefined(validatedPayload),\n toConnectCallOptions(options),\n );\n return res.apiKey ? parse(ApiKeySchema, res.apiKey) : null;\n }\n\n /**\n * Generates an Ed25519 keypair locally and returns public and secret key material as both hex strings and byte arrays; only the public key should be sent to the API.\n */\n async generateKeypair(): Promise<{\n publicKey: { hex: string; bytes: Uint8Array };\n secretKey: { hex: string; bytes: Uint8Array };\n }> {\n const { secretKey, publicKey } = await keygenAsync();\n return {\n publicKey: {\n hex: bytesToHex(publicKey),\n bytes: publicKey,\n },\n secretKey: {\n hex: bytesToHex(secretKey),\n bytes: secretKey,\n },\n };\n }\n\n /**\n * Subscribes to private API key updates for an account and emits normalized API key metadata from realtime protobuf publications.\n */\n subscribe(input: SubscribeApiKeysInput) {\n const channel = `private:auth:api-keys:${input.accountId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.ApiKeySchema,\n onPublication: (data) => {\n const apiKey = parse(ApiKeySchema, data);\n input.onEvent(apiKey);\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAkCA,IAAa,iBAAb,MAA4B;CACxB;CAEA;CACA;CACA;CAEA,YACI,YACA,UACA,UACF;EACE,KAAK,WAAW,IAAI,sBAAsB,UAAU;EACpD,KAAKA,UAAU,aAAaC,eAAqB,WAAW,OAAO;EACnE,KAAKC,YAAY;EACjB,KAAKC,YAAY;CACrB;;;;CAKA,MAAM,KACF,SAAsD,CAAC,GACvD,SACiB;EACjB,MAAM,WAAW,0BAA0B,QAAQ,KAAKA,SAAS;EACjE,MAAM,kBAAkB,MAAM,wBAAwB,QAAQ;EAC9D,MAAM,MAAM,MAAM,KAAKH,QAAQ,YAC3B,gBAAgB,eAAe,GAC/B,qBAAqB,OAAO,CAChC;EAEA,OAAO,MAAM,eAAe,IAAI,OAAO;CAC3C;;;;CAKA,MAAM,IACF,OACA,SACsB;EACtB,MAAM,iBAAiB,MAAM,qBAAqB,KAAK;EACvD,MAAM,MAAM,MAAM,KAAKA,QAAQ,UAAU,gBAAgB,qBAAqB,OAAO,CAAC;EACtF,OAAO,IAAI,SAAS,MAAMI,gBAAc,IAAI,MAAM,IAAI;CAC1D;;;;CAKA,MAAM,OACF,SACA,SACsB;EACtB,MAAM,WAAW,0BAA0B,SAAS,KAAKD,SAAS;EAClE,MAAM,mBAAmB,MAAM,0BAA0B,QAAQ;EACjE,MAAM,MAAM,MAAM,KAAKH,QAAQ,aAC3B,gBAAgB,gBAAgB,GAChC,qBAAqB,OAAO,CAChC;EACA,OAAO,IAAI,SAAS,MAAMI,gBAAc,IAAI,MAAM,IAAI;CAC1D;;;;CAKA,MAAM,OACF,OACA,SACa;EACb,MAAM,iBAAiB,MAAM,qBAAqB,KAAK;EACvD,MAAM,KAAKJ,QAAQ,aAAa,gBAAgB,qBAAqB,OAAO,CAAC;CACjF;;;;CAKA,MAAM,OACF,SACA,SACsB;EACtB,MAAM,mBAAmB,MAAM,0BAA0B,OAAO;EAChE,MAAM,MAAM,MAAM,KAAKA,QAAQ,aAC3B,gBAAgB,gBAAgB,GAChC,qBAAqB,OAAO,CAChC;EACA,OAAO,IAAI,SAAS,MAAMI,gBAAc,IAAI,MAAM,IAAI;CAC1D;;;;CAKA,MAAM,kBAGH;EACC,MAAM,EAAE,WAAW,cAAc,MAAM,YAAY;EACnD,OAAO;GACH,WAAW;IACP,KAAK,WAAW,SAAS;IACzB,OAAO;GACX;GACA,WAAW;IACP,KAAK,WAAW,SAAS;IACzB,OAAO;GACX;EACJ;CACJ;;;;CAKA,UAAU,OAA8B;EACpC,MAAM,UAAU,yBAAyB,MAAM,UAAU;EAEzD,OAAO,KAAKF,UAAU,oBAAoB;GACtC;GACA,QAAQG;GACR,gBAAgB,SAAS;IACrB,MAAM,SAAS,MAAMD,gBAAc,IAAI;IACvC,MAAM,QAAQ,MAAM;GACxB;GACA,mBAAmB,MAAM,SAAS;GAClC,sBAAsB,MAAM,UAAU;GACtC,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
@@ -1,8 +1,9 @@
1
1
  import { AccountSigner, AccountSignerConfig } from "../../account-signer/types.js";
2
2
  import { PolyesterEnvironment } from "../../environment.js";
3
+ import { AuthAndPublicApiTransports } from "../../shared/transports.js";
3
4
  import { PolyesterRealtime } from "../../realtime/types.js";
4
5
  import "../../realtime/index.js";
5
- import { AuthService, AuthServiceTransports } from "./auth.js";
6
+ import { AuthService } from "./auth.js";
6
7
  import { SubaccountsService } from "../subaccounts/subaccounts.js";
7
8
  import "../subaccounts/index.js";
8
9
  import { AuthTokenStorage } from "./token-storage.js";
@@ -55,7 +56,7 @@ declare class AccountSignerAuthService extends AuthService {
55
56
  #private;
56
57
  readonly events: EventEmitter<AccountSignerAuthEvents>;
57
58
  constructor({ transports, accountSignerConfig, environment, subaccounts, realtime, tokenStorage, sessionStore }: {
58
- transports: AuthServiceTransports;
59
+ transports: AuthAndPublicApiTransports;
59
60
  accountSignerConfig?: AccountSignerConfig;
60
61
  environment: PolyesterEnvironment;
61
62
  subaccounts: SubaccountsService;
@@ -1 +1 @@
1
- {"version":3,"file":"account-signer-auth.d.ts","names":[],"sources":["../../../src/services/auth/account-signer-auth.ts"],"mappings":";;;;;;;;;;;;UAuBiB;EACb;IAAiB;IAAmB;;EACpC;EACA;IAAS;IAAc;;EACvB;EACA,aAAa;;UAGA;EACb;EACA;EACA,WAAW;;UAGE;;;;EAIb;EACA,cAAc;;UAGD;;EAEb,eAAe;;EAEf;;EAEA;;UAGa;EACb;EACA;EACA;;;;;cAWS,iCAAiC;;WACjC,QAAM,aAAA;EAgBH,cACR,YACA,qBACA,aACA,aACA,UACA,cACA;IAEA,YAAY;IACZ,sBAAsB;IACtB,aAAa;IACb,aAAa;IACb,UAAU;IACV,cAAc;IACd,eAAe;;;;;EAmBnB,sBAAsB,aAAa;;;;EAOnC,iBAAiB,eAAe;;;;EAUhC,oBAAoB;;;;EAOd,MAAM,SAAS,eAAe,QAAQ;;;;EA2F5C,iBAAiB,OAAO;;;;EAwBlB,kBAAkB;IAAU;IAAmB;;;;;EA6D/C,UAAU;;;;EAkChB;;;;EASM,eAAe;IACjB;IACA,cAAc;MACd,QAAQ;;;;EAkBZ,cACI,mBACA;IAAY;IAA8B;;IACzC;IAAmB;;;EAuBxB,oBAAoB;;;;EASd,iBAAiB,QAAQ,yBAAyB,QAAQ;;;;EA+ChE,YAAY"}
1
+ {"version":3,"file":"account-signer-auth.d.ts","names":[],"sources":["../../../src/services/auth/account-signer-auth.ts"],"mappings":";;;;;;;;;;;;;UAwBiB;EACb;IAAiB;IAAmB;;EACpC;EACA;IAAS;IAAc;;EACvB;EACA,aAAa;;UAGA;EACb;EACA;EACA,WAAW;;UAGE;;;;EAIb;EACA,cAAc;;UAGD;;EAEb,eAAe;;EAEf;;EAEA;;UAGa;EACb;EACA;EACA;;;;;cAWS,iCAAiC;;WACjC,QAAM,aAAA;EAgBH,cACR,YACA,qBACA,aACA,aACA,UACA,cACA;IAEA,YAAY;IACZ,sBAAsB;IACtB,aAAa;IACb,aAAa;IACb,UAAU;IACV,cAAc;IACd,eAAe;;;;;EAmBnB,sBAAsB,aAAa;;;;EAOnC,iBAAiB,eAAe;;;;EAUhC,oBAAoB;;;;EAOd,MAAM,SAAS,eAAe,QAAQ;;;;EA2F5C,iBAAiB,OAAO;;;;EAwBlB,kBAAkB;IAAU;IAAmB;;;;;EA6D/C,UAAU;;;;EAkChB;;;;EASM,eAAe;IACjB;IACA,cAAc;MACd,QAAQ;;;;EAkBZ,cACI,mBACA;IAAY;IAA8B;;IACzC;IAAmB;;;EAuBxB,oBAAoB;;;;EASd,iBAAiB,QAAQ,yBAAyB,QAAQ;;;;EA+ChE,YAAY"}