@n1xyz/nord-ts 0.0.22 → 0.1.1
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.
- package/README.md +20 -16
- package/dist/gen/nord_pb.d.ts +100 -32
- package/dist/gen/nord_pb.js +62 -9
- package/dist/gen/openapi.d.ts +45 -8
- package/dist/nord/api/actions.d.ts +1 -0
- package/dist/nord/api/actions.js +51 -23
- package/dist/types.js +2 -2
- package/dist/utils.js +1 -0
- package/package.json +1 -1
- package/src/gen/nord_pb.ts +121 -36
- package/src/gen/openapi.ts +45 -8
- package/src/nord/api/actions.ts +59 -25
- package/src/types.ts +2 -2
- package/src/utils.ts +1 -0
- package/src/gen/nord.ts +0 -7593
package/src/gen/nord_pb.ts
CHANGED
|
@@ -15,7 +15,7 @@ import type { Message } from "@bufbuild/protobuf";
|
|
|
15
15
|
* Describes the file nord.proto.
|
|
16
16
|
*/
|
|
17
17
|
export const file_nord: GenFile = /*@__PURE__*/
|
|
18
|
-
fileDesc("Cgpub3JkLnByb3RvEgRub3JkItABCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEhUKDXNpemVfZGVjaW1hbHMYAyABKA0SFQoNYmFzZV90b2tlbl9pZBgEIAEoDRIlCgttYXJrZXRfdHlwZRgFIAEoDjIQLm5vcmQuTWFya2V0VHlwZRIPCgdpbWZfYnBzGAYgASgNEg8KB2NtZl9icHMYByABKA0SDwoHbW1mX2JwcxgIIAEoDRITCgt2aWV3X3N5bWJvbBgKIAEoCSJaCgVUb2tlbhIQCgh0b2tlbl9pZBgBIAEoDRIWCg50b2tlbl9kZWNpbWFscxgCIAEoDRISCgp3ZWlnaHRfYnBzGAQgASgNEhMKC3ZpZXdfc3ltYm9sGAUgASgJIigKCVF1b3RlU2l6ZRIMCgRzaXplGAEgASgEEg0KBXByaWNlGAIgASgEIk4KCk9yZGVyTGltaXQSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIjCgpxdW90ZV9zaXplGAggASgLMg8ubm9yZC5RdW90ZVNpemUiYAoJT3JkZXJUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCCKZAQoMVHJhZGVPclBsYWNlEhEKCW1hcmtldF9pZBgCIAEoDRIjCgpvcmRlcl90eXBlGAMgASgLMg8ubm9yZC5PcmRlclR5cGUSHwoFbGltaXQYBiABKAsyEC5ub3JkLk9yZGVyTGltaXQSHAoPY2xpZW50X29yZGVyX2lkGCEgASgESACIAQFCEgoQX2NsaWVudF9vcmRlcl9pZCIfCgtDYW5jZWxPcmRlchIQCghvcmRlcl9pZBgCIAEoBCLbGQoGQWN0aW9uEhkKEWN1cnJlbnRfdGltZXN0YW1wGAEgASgDEg0KBW5vbmNlGAIgASgNEjQKDmNyZWF0ZV9zZXNzaW9uGAQgASgLMhoubm9yZC5BY3Rpb24uQ3JlYXRlU2Vzc2lvbkgAEjAKDGNyZWF0ZV90b2tlbhgFIAEoCzIYLm5vcmQuQWN0aW9uLkNyZWF0ZVRva2VuSAASMgoNY3JlYXRlX21hcmtldBgGIAEoCzIZLm5vcmQuQWN0aW9uLkNyZWF0ZU1hcmtldEgAEi4KC3BsYWNlX29yZGVyGAcgASgLMhcubm9yZC5BY3Rpb24uUGxhY2VPcmRlckgAEjoKEmNhbmNlbF9vcmRlcl9ieV9pZBgIIAEoCzIcLm5vcmQuQWN0aW9uLkNhbmNlbE9yZGVyQnlJZEgAEicKB2RlcG9zaXQYCSABKAsyFC5ub3JkLkFjdGlvbi5EZXBvc2l0SAASKQoId2l0aGRyYXcYCiABKAsyFS5ub3JkLkFjdGlvbi5XaXRoZHJhd0gAEkwKG3B5dGhfc2V0X3dvcm1ob2xlX2d1YXJkaWFucxgLIAEoCzIlLm5vcmQuQWN0aW9uLlB5dGhTZXRXb3JtaG9sZUd1YXJkaWFuc0gAEj4KFHB5dGhfc2V0X3N5bWJvbF9mZWVkGAwgASgLMh4ubm9yZC5BY3Rpb24uUHl0aFNldFN5bWJvbEZlZWRIABJCChZweXRoX3ByaWNlX2ZlZWRfdXBkYXRlGA0gASgLMiAubm9yZC5BY3Rpb24uUHl0aFByaWNlRmVlZFVwZGF0ZUgAEisKCWxpcXVpZGF0ZRgOIAEoCzIWLm5vcmQuQWN0aW9uLkxpcXVpZGF0ZUgAEjQKDnJldm9rZV9zZXNzaW9uGA8gASgLMhoubm9yZC5BY3Rpb24uUmV2b2tlU2Vzc2lvbkgAEiMKBXBhdXNlGBAgASgLMhIubm9yZC5BY3Rpb24uUGF1c2VIABInCgd1bnBhdXNlGBEgASgLMhQubm9yZC5BY3Rpb24uVW5wYXVzZUgAEikKCHRyYW5zZmVyGBIgASgLMhUubm9yZC5BY3Rpb24uVHJhbnNmZXJIABIuCgthZGRfdHJpZ2dlchggIAEoCzIXLm5vcmQuQWN0aW9uLkFkZFRyaWdnZXJIABI0Cg5yZW1vdmVfdHJpZ2dlchghIAEoCzIaLm5vcmQuQWN0aW9uLlJlbW92ZVRyaWdnZXJIABIyCg10YWtlX3Bvc2l0aW9uGCIgASgLMhkubm9yZC5BY3Rpb24uVGFrZVBvc2l0aW9uSAASHgoGYXRvbWljGCMgASgLMgwubm9yZC5BdG9taWNIABpTCg1DcmVhdGVTZXNzaW9uEhMKC3VzZXJfcHVia2V5GAEgASgMEhMKC2Jsc3RfcHVia2V5GAIgASgMEhgKEGV4cGlyeV90aW1lc3RhbXAYAyABKAMadwoLQ3JlYXRlVG9rZW4SFgoOdG9rZW5fZGVjaW1hbHMYASABKA0SEgoKd2VpZ2h0X2JwcxgDIAEoDRITCgt2aWV3X3N5bWJvbBgEIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAUgASgJEhAKCHNvbF9hZGRyGAYgASgMGtoBCgxDcmVhdGVNYXJrZXQSFQoNc2l6ZV9kZWNpbWFscxgBIAEoDRIWCg5wcmljZV9kZWNpbWFscxgCIAEoDRIPCgdpbWZfYnBzGAMgASgNEg8KB2NtZl9icHMYBCABKA0SDwoHbW1mX2JwcxgFIAEoDRIlCgttYXJrZXRfdHlwZRgGIAEoDjIQLm5vcmQuTWFya2V0VHlwZRITCgt2aWV3X3N5bWJvbBgHIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAggASgJEhUKDWJhc2VfdG9rZW5faWQYCSABKA0apgMKClBsYWNlT3JkZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SGAoEc2lkZRgDIAEoDjIKLm5vcmQuU2lkZRIhCglmaWxsX21vZGUYBCABKA4yDi5ub3JkLkZpbGxNb2RlEhYKDmlzX3JlZHVjZV9vbmx5GAUgASgIEg0KBXByaWNlGAYgASgEEgwKBHNpemUYByABKAQSIwoKcXVvdGVfc2l6ZRgIIAEoCzIPLm5vcmQuUXVvdGVTaXplEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHAoPY2xpZW50X29yZGVyX2lkGCEgASgESAGIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYIiABKA1IAogBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYIyABKARIA4gBAUIXChVfZGVsZWdhdG9yX2FjY291bnRfaWRCEgoQX2NsaWVudF9vcmRlcl9pZEIUChJfc2VuZGVyX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZBqpAQoPQ2FuY2VsT3JkZXJCeUlkEhIKCnNlc3Npb25faWQYASABKAQSEAoIb3JkZXJfaWQYAiABKAQSIQoUZGVsZWdhdG9yX2FjY291bnRfaWQYICABKA1IAIgBARIeChFzZW5kZXJfYWNjb3VudF9pZBghIAEoDUgBiAEBQhcKFV9kZWxlZ2F0b3JfYWNjb3VudF9pZEIUChJfc2VuZGVyX2FjY291bnRfaWQaWAoHRGVwb3NpdBIUCgxhY3Rpb25fbm9uY2UYASABKAQSEgoKdG9rZW5fYWRkchgCIAEoDBIOCgZhbW91bnQYAyABKAQSEwoLdXNlcl9wdWJrZXkYBCABKAwaQAoIV2l0aGRyYXcSEAoIdG9rZW5faWQYASABKA0SEgoKc2Vzc2lvbl9pZBgCIAEoBBIOCgZhbW91bnQYAyABKAQaSQoYUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zEhoKEmd1YXJkaWFuX3NldF9pbmRleBgBIAEoDRIRCglhZGRyZXNzZXMYAiADKAwaQQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMGi8KE1B5dGhQcmljZUZlZWRVcGRhdGUSGAoQcmF3X3B5dGhuZXRfZGF0YRgBIAEoDBqHAQoJTGlxdWlkYXRlEh0KFWxpcXVpZGF0b3Jfc2Vzc2lvbl9pZBgBIAEoBBIdChVsaXF1aWRhdGVlX2FjY291bnRfaWQYAiABKA0SIgoVbGlxdWlkYXRvcl9hY2NvdW50X2lkGAMgASgNSACIAQFCGAoWX2xpcXVpZGF0b3JfYWNjb3VudF9pZBojCg1SZXZva2VTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAQaBwoFUGF1c2UaCQoHVW5wYXVzZRrPAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhoKDXRvX2FjY291bnRfaWQYCCABKA1IAIgBARIyCg9zcGVjaWFsX2FjY291bnQYCSABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEAoOX3RvX2FjY291bnRfaWRCEgoQX3NwZWNpYWxfYWNjb3VudBqlAQoKQWRkVHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIfCgRraW5kGAMgASgOMhEubm9yZC5UcmlnZ2VyS2luZBIYCgRzaWRlGAQgASgOMgoubm9yZC5TaWRlEg0KBXByaWNlGAUgASgEEhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBqoAQoNUmVtb3ZlVHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIfCgRraW5kGAMgASgOMhEubm9yZC5UcmlnZ2VyS2luZBIYCgRzaWRlGAQgASgOMgoubm9yZC5TaWRlEg0KBXByaWNlGAUgASgEEhcKCmFjY291bnRfaWQYCiABKA1IAIgBAUINCgtfYWNjb3VudF9pZBqXAQoMVGFrZVBvc2l0aW9uEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEgwKBHNpemUYAyABKAMSHgoRc2VuZGVyX2FjY291bnRfaWQYBCABKA1IAIgBARISCgVwcmljZRgFIAEoBEgBiAEBQhQKEl9zZW5kZXJfYWNjb3VudF9pZEIICgZfcHJpY2VCBgoEa2luZCJ3ChNBdG9taWNTdWJhY3Rpb25LaW5kEiwKDnRyYWRlX29yX3BsYWNlGAYgASgLMhIubm9yZC5UcmFkZU9yUGxhY2VIABIpCgxjYW5jZWxfb3JkZXIYByABKAsyES5ub3JkLkNhbmNlbE9yZGVySABCBwoFaW5uZXIicAoGQXRvbWljEhIKCnNlc3Npb25faWQYASABKAQSFwoKYWNjb3VudF9pZBgCIAEoDUgAiAEBEioKB2FjdGlvbnMYBiADKAsyGS5ub3JkLkF0b21pY1N1YmFjdGlvbktpbmRCDQoLX2FjY291bnRfaWQivRkKB1JlY2VpcHQSEQoJYWN0aW9uX2lkGAEgASgEEhoKA2VychggIAEoDjILLm5vcmQuRXJyb3JIABJCChVjcmVhdGVfc2Vzc2lvbl9yZXN1bHQYISABKAsyIS5ub3JkLlJlY2VpcHQuQ3JlYXRlU2Vzc2lvblJlc3VsdEgAEjwKEnBsYWNlX29yZGVyX3Jlc3VsdBgiIAEoCzIeLm5vcmQuUmVjZWlwdC5QbGFjZU9yZGVyUmVzdWx0SAASPgoTY2FuY2VsX29yZGVyX3Jlc3VsdBgjIAEoCzIfLm5vcmQuUmVjZWlwdC5DYW5jZWxPcmRlclJlc3VsdEgAEjUKDmRlcG9zaXRfcmVzdWx0GCQgASgLMhsubm9yZC5SZWNlaXB0LkRlcG9zaXRSZXN1bHRIABI+ChNpbnNlcnRfdG9rZW5fcmVzdWx0GCUgASgLMh8ubm9yZC5SZWNlaXB0Lkluc2VydFRva2VuUmVzdWx0SAASQAoUaW5zZXJ0X21hcmtldF9yZXN1bHQYJiABKAsyIC5ub3JkLlJlY2VpcHQuSW5zZXJ0TWFya2V0UmVzdWx0SAASNwoPd2l0aGRyYXdfcmVzdWx0GCcgASgLMhwubm9yZC5SZWNlaXB0LldpdGhkcmF3UmVzdWx0SAASSQoZb3JhY2xlX3N5bWJvbF9mZWVkX3Jlc3VsdBgoIAEoCzIkLm5vcmQuUmVjZWlwdC5PcmFjbGVTeW1ib2xGZWVkUmVzdWx0SAASQAoUb3JhY2xlX3VwZGF0ZV9yZXN1bHQYKSABKAsyIC5ub3JkLlJlY2VpcHQuT3JhY2xlVXBkYXRlUmVzdWx0SAASSwoadXBkYXRlX2d1YXJkaWFuX3NldF9yZXN1bHQYKiABKAsyJS5ub3JkLlJlY2VpcHQuVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHRIABI1CgpsaXF1aWRhdGVkGCsgASgLMh8ubm9yZC5SZWNlaXB0LkFjY291bnRMaXF1aWRhdGVkSAASNwoPc2Vzc2lvbl9yZXZva2VkGCwgASgLMhwubm9yZC5SZWNlaXB0LlNlc3Npb25SZXZva2VkSAASJgoGcGF1c2VkGC0gASgLMhQubm9yZC5SZWNlaXB0LlBhdXNlZEgAEioKCHVucGF1c2VkGC4gASgLMhYubm9yZC5SZWNlaXB0LlVucGF1c2VkSAASMAoLdHJhbnNmZXJyZWQYLyABKAsyGS5ub3JkLlJlY2VpcHQuVHJhbnNmZXJyZWRIABIzCg10cmlnZ2VyX2FkZGVkGEAgASgLMhoubm9yZC5SZWNlaXB0LlRyaWdnZXJBZGRlZEgAEjcKD3RyaWdnZXJfcmVtb3ZlZBhBIAEoCzIcLm5vcmQuUmVjZWlwdC5UcmlnZ2VyUmVtb3ZlZEgAEk0KGHBvc2l0aW9uX3Rha2VuX29yX3RyYWRlZBhCIAEoCzIpLm5vcmQuUmVjZWlwdC5Qb3NpdGlvblRha2VuT3JUcmFkZWRSZXN1bHRIABIsCgZhdG9taWMYQyABKAsyGi5ub3JkLlJlY2VpcHQuQXRvbWljUmVzdWx0SAAaeAoGUG9zdGVkEhgKBHNpZGUYASABKA4yCi5ub3JkLlNpZGUSEQoJbWFya2V0X2lkGAIgASgNEg0KBXByaWNlGAMgASgEEgwKBHNpemUYBCABKAQSEAoIb3JkZXJfaWQYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRpKCgVUcmFkZRIQCghvcmRlcl9pZBgCIAEoBBINCgVwcmljZRgEIAEoBBIMCgRzaXplGAUgASgEEhIKCmFjY291bnRfaWQYBiABKA0aKQoTQ3JlYXRlU2Vzc2lvblJlc3VsdBISCgpzZXNzaW9uX2lkGAEgASgEGtYBChBQbGFjZU9yZGVyUmVzdWx0EikKBnBvc3RlZBgBIAEoCzIULm5vcmQuUmVjZWlwdC5Qb3N0ZWRIAIgBARIiCgVmaWxscxgCIAMoCzITLm5vcmQuUmVjZWlwdC5UcmFkZRIcCg9jbGllbnRfb3JkZXJfaWQYAyABKARIAYgBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYBCABKARIAogBAUIJCgdfcG9zdGVkQhIKEF9jbGllbnRfb3JkZXJfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZBpCCgtUYWtlblJlc3VsdBILCgNwbmwYASABKAMSDAoEc2l6ZRgCIAEoAxIYChB0YWtlcl9hY2NvdW50X2lkGAMgASgNGqsBChtQb3NpdGlvblRha2VuT3JUcmFkZWRSZXN1bHQSEQoJbWFya2V0X2lkGAEgASgNEioKBXRha2VuGAIgASgLMhkubm9yZC5SZWNlaXB0LlRha2VuUmVzdWx0SAASMAoGdHJhZGVkGAMgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIAEIbChlQb3NpdGlvblRha2VuT3JUcmFkZWRLaW5kGjkKEUNhbmNlbE9yZGVyUmVzdWx0EhAKCG9yZGVyX2lkGAEgASgEEhIKCmFjY291bnRfaWQYAiABKA0acAoNRGVwb3NpdFJlc3VsdBIQCgh0b2tlbl9pZBgBIAEoDRIOCgZhbW91bnQYAiABKAQSEgoKYWNjb3VudF9pZBgDIAEoDRIUCgx1c2VyX2NyZWF0ZWQYBCABKAgSEwoLdXNlcl9wdWJrZXkYBSABKAwaQwoRSW5zZXJ0VG9rZW5SZXN1bHQSEgoKY2hhaW5fYWRkchgBIAEoDBIaCgV0b2tlbhgCIAEoCzILLm5vcmQuVG9rZW4aMgoSSW5zZXJ0TWFya2V0UmVzdWx0EhwKBm1hcmtldBgBIAEoCzIMLm5vcmQuTWFya2V0GnkKDldpdGhkcmF3UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBIPCgdiYWxhbmNlGAMgASgEEhIKCmFjY291bnRfaWQYBCABKA0SCwoDZmVlGAUgASgEEhMKC3VzZXJfcHVia2V5GAYgASgMGkAKFk9yYWNsZVN5bWJvbEZlZWRSZXN1bHQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIPCgdmZWVkX2lkGAIgASgMGicKEk9yYWNsZVVwZGF0ZVJlc3VsdBIRCgl0aW1lc3RhbXAYASABKAMaSAoXVXBkYXRlR3VhcmRpYW5TZXRSZXN1bHQSGgoSZ3VhcmRpYW5fc2V0X2luZGV4GAEgASgNEhEKCWFkZHJlc3NlcxgCIAMoDBpDCgxQZXJwUG9zaXRpb24SEQoJbWFya2V0X2lkGAEgASgNEhEKCWJhc2Vfc2l6ZRgCIAEoAxINCgVwcmljZRgDIAEoBBqeAQoRQWNjb3VudExpcXVpZGF0ZWQSHQoVbGlxdWlkYXRvcl9hY2NvdW50X2lkGAEgASgNEh0KFWxpcXVpZGF0ZWVfYWNjb3VudF9pZBgCIAEoDRIYChBjYW5jZWxsZWRfb3JkZXJzGAMgAygEEjEKDXJlbW92ZWRfcGVycHMYBCADKAsyGi5ub3JkLlJlY2VpcHQuUGVycFBvc2l0aW9uGhAKDlNlc3Npb25SZXZva2VkGggKBlBhdXNlZBoKCghVbnBhdXNlZBrhAQoLVHJhbnNmZXJyZWQSFwoPZnJvbV9hY2NvdW50X2lkGAEgASgNEhwKD3RvX3VzZXJfYWNjb3VudBgCIAEoDUgAiAEBEhAKCHRva2VuX2lkGAMgASgNEg4KBmFtb3VudBgEIAEoBBIXCg9hY2NvdW50X2NyZWF0ZWQYBSABKAgSNQoSdG9fc3BlY2lhbF9hY2NvdW50GAYgASgOMhQubm9yZC5TcGVjaWFsQWNjb3VudEgBiAEBQhIKEF90b191c2VyX2FjY291bnRCFQoTX3RvX3NwZWNpYWxfYWNjb3VudBoOCgxUcmlnZ2VyQWRkZWQaEAoOVHJpZ2dlclJlbW92ZWQamwEKGUF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmQSPAoScGxhY2Vfb3JkZXJfcmVzdWx0GAEgASgLMh4ubm9yZC5SZWNlaXB0LlBsYWNlT3JkZXJSZXN1bHRIABI3CgxjYW5jZWxfb3JkZXIYAiABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIAEIHCgVpbm5lchpICgxBdG9taWNSZXN1bHQSOAoHcmVzdWx0cxgBIAMoCzInLm5vcmQuUmVjZWlwdC5BdG9taWNTdWJhY3Rpb25SZXN1bHRLaW5kQgYKBGtpbmQqGAoEU2lkZRIHCgNBU0sQABIHCgNCSUQQASotCgtUcmlnZ2VyS2luZBINCglTVE9QX0xPU1MQABIPCgtUQUtFX1BST0ZJVBABKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASqiFwoFRXJyb3ISDQoJRFVQTElDQVRFEAASEgoOREVDT0RFX0ZBSUxVUkUQAhIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSFwoTQVJJVEhNRVRJQ19PVkVSRkxPVxALEhcKE0lOVkFMSURfT1JERVJfT1dORVIQDhIaChZLRVlfQUxSRUFEWV9SRUdJU1RFUkVEEA8SHAoYRVhQSVJZX1RJTUVTVEFNUF9JTl9QQVNUEBASHAoYVVBEQVRFX1RJTUVTVEFNUF9JTl9QQVNUEBESGAoUVE9PX01BTllfT1BFTl9PUkRFUlMQEhIdChlXSVRIRFJBV19BTU9VTlRfVE9PX1NNQUxMEBUSFwoTUFlUSF9GRUVEX05PVF9BRERFRBBdEhUKEVBZVEhfRkVFRF9NSVNTSU5HEF4SGwoXUFlUSF9GRUVEX0FMUkVBRFlfQURERUQQXxIjCh9QWVRIX0dVQVJESUFOX1NFVF9VTklOSVRJQUxJWkVEEGASHQoZUFlUSF9HVUFSRElBTl9TRVRfSU5WQUxJRBBhEiMKH1BZVEhfRkVFRF9ERUNJTUFMU19PVVRfT0ZfUkFOR0UQYhIgChxQWVRIX0ZFRURfUFJJQ0VfT1VUX09GX1JBTkdFEGMSIwofUFlUSF9GRUVEX1ZBUklBTkNFX09VVF9PRl9SQU5HRRBkEjUKMVBZVEhfR1VBUkRJQU5fU0VUX0FORF9QWVRIX1NJR05BVFVSRV9ET19OT1RfTUFUQ0gQZRIcChhJTlZBTElEX1RPS0VOX1BBUkFNRVRFUlMQZhIcChhJTkRFWF9QUklDRV9PVVRfT0ZfUkFOR0UQZxIfChtJTkRFWF9ERUNJTUFMU19PVVRfT0ZfUkFOR0UQaBIZChVJTlZBTElEX1NUQVRFX1ZFUlNJT04QaRITCg9JTlZBTElEX01BUkdJTlMQaxIhCh1NQVJLRVRfREVDSU1BTFNfRVhDRUVEX0xJTUlUUxBtEhMKD1RPT19NQU5ZX1RPS0VOUxBuEhQKEEZVTkRJTkdfT1ZFUkZMT1cQexI3CjNDQU5fUkVEVUNFX1BPU0lUSU9OX09OTFlfSUZfQUxMX09SREVSU19BUkVfQ0FOQ0VMRUQQfBIXChNVTkVYUEVDVEVEX1RPS0VOX0lEEH8SFAoPVE9LRU5fTk9UX1JFQURZEIIBEhwKGFRPS0VOX0FMUkVBRFlfUkVHSVNURVJFRBBwEiEKHElNTUVESUFURV9PUkRFUl9HT1RfTk9fRklMTFMQhQESGQoURkFJTEVEX1RPX0ZJTExfTElNSVQQhgESMAorUE9TVF9PTkxZX01VU1RfTk9UX0ZJTExfQU5ZX09QUE9TSVRFX09SREVSUxCHARIMCgdJTlZBTElEEIgBEhAKC01BSU5URU5BTkNFEIkBEhoKFU1JTklNVU1fU0laRV9ERUNJTUFMUxCKARIyCi1QQVJBTUVURVJTX1dJTExfQ1JFQVRFX05PTl9PUEVSQVRJT05BTF9NQVJLRVQQiwESIgodT05MWV9JTU1FRElBVEVfT1JERVJTX0FMTE9XRUQQjAESGwoWVE9PX01BTllfVVNFUl9BQ0NPVU5UUxCNARIWChFBQ0NPVU5UX05PVF9GT1VORBCOARIaChVBQ0NPVU5UX0lOVkFMSURfT1dORVIQjwESEQoMRFVTVF9BQ0NPVU5UEJEBEgwKB0JBTEFOQ0UQoAESHQoYQkFMQU5DRV9ERVBPU0lUX09WRVJGTE9XEKEBEhwKF0JBTEFOQ0VfQ0hBTkdFX09WRVJGTE9XEKIBEiIKHUJBTEFOQ0VfQ0hBTkdFX0xJTUlUX0VYQ0VFREVEEKMBEhkKFEJBTEFOQ0VfSU5TVUZGSUNJRU5UEKQBEh4KGVVOQVVUSEVOVElDQVRFRF9MMV9BQ1RJT04QpQESHQoYRU5DT0RFRF9BQ1RJT05fVE9PX0xBUkdFEKYBEgwKB1RSSUdHRVIQqAESGgoVVFJJR0dFUl9JTlZBTElEX1BSSUNFEKkBEhYKEVRSSUdHRVJfTk9UX0ZPVU5EEKoBEg4KCVRJTUVTVEFNUBCwARIfChpUSU1FU1RBTVBfT1VUX09GX1RIUkVTSE9MRBCxARIUCg9USU1FU1RBTVBfU1RBTEUQsgESJQogQkFOS1JVUFRDWV9JTlNVRkZJQ0lFTlRfQ09WRVJBR0UQuQESGQoUQkFOS1JVUFRDWV9OT1RfRk9VTkQQugESGwoWQkFOS1JVUFRDWV9OT1RfQUxMT1dFRBC7ARIVChBNQVJLRVRfTk9UX1JFQURZEMABEhIKDU1BUktFVF9GUk9aRU4QwQESDQoIUE9TSVRJT04QyAESFwoSUE9TSVRJT05fTk9UX0ZPVU5EEMkBEhkKFFBPU0lUSU9OX1NUQVRFX09SREVSEMoBEh8KGlBPU0lUSU9OX1NUQVRFX09SREVSX1BSSUNFEMsBEh4KGVBPU0lUSU9OX1NUQVRFX09SREVSX1NJWkUQzAESHgoZUE9TSVRJT05fU1RBVEVfT1JERVJfU0lERRDNARIYChNQT1NJVElPTl9TSVpFX0xJTUlUEM4BEgoKBVBSSUNFENEBEhsKFlNJR05BVFVSRV9WRVJJRklDQVRJT04Q2QESMAorU0lHTkFUVVJFX1ZFUklGSUNBVElPTl9NQUxGT1JNRURfUFVCTElDX0tFWRDaARIqCiVTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX0lOVkFMSURfTEVOR1RIENsBEgkKBFJJU0sQ4AESNAovUklTS19ERUxFR0FUSU9OX01GX1RPX0JFX0xFU1NfVEhBTl9PUl9FUVVBTF9NTUYQ4QESJAofUklTS19PTUZfTEVTU19USEFOX09SX0VRVUFMX0lNRhDiARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfQ01GEOMBEioKJVJJU0tfVFJBREVfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ5QESNQowUklTS19VTkhFQUxUSFlfTUZfQU5EX1BPTl9BRlRFUl9CRVRURVJfT0ZfQkVGT1JFEOQBEhQKD09SREVSX0VYRUNVVElPThDwARIaChVPUkRFUl9FWEVDVVRJT05fRU1QVFkQ8QESIQocT1JERVJfRVhFQ1VUSU9OX0ZJTExfT1JfS0lMTBDyARIjCh5PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19MSU1JVFMQ8wESIgodT1JERVJfRVhFQ1VUSU9OX01JU1NJTkdfUFJJQ0UQ9AESHwoaT1JERVJfRVhFQ1VUSU9OX1NJWkVfTElNSVQQ9QESIAobT1JERVJfRVhFQ1VUSU9OX0xJTUlUX1BSSUNFEPYBEh4KGU9SREVSX1JFRFVDRV9JU19QT1NUX09OTFkQ9wESHwoaT1JERVJfRVhFQ1VUSU9OX1NFTExfUFJJQ0UQ+AESKAojQVRPTUlDU19UUkFERVNfQ0FOTk9UX0ZPTExPV19QTEFDRVMQgAISMAorQVRPTUlDU19DQU5DRUxTX0NBTk5PVF9GT0xMT1dfVFJBREVTX1BMQUNFUxCBAhImCiFBQ1RJT05fUE9TSVRJT05fU0hPVUxEX0JFX0NPVkVSRUQQkQISGQoUQUNUSU9OX0lOVkFMSURfTk9OQ0UQkgISKQokQUNUSU9OX1BST1BPU0VEX1BSSUNFX01VU1RfQkVfSElHSEVSEJMCEhQKD05PVF9JTVBMRU1FTlRFRBD0AxIMCgdEcm9wcGVkEOcHKh4KDlNwZWNpYWxBY2NvdW50EgwKCEZlZVZhdWx0EABiBnByb3RvMw");
|
|
18
|
+
fileDesc("Cgpub3JkLnByb3RvEgRub3JkItABCgZNYXJrZXQSEQoJbWFya2V0X2lkGAEgASgNEhYKDnByaWNlX2RlY2ltYWxzGAIgASgNEhUKDXNpemVfZGVjaW1hbHMYAyABKA0SFQoNYmFzZV90b2tlbl9pZBgEIAEoDRIlCgttYXJrZXRfdHlwZRgFIAEoDjIQLm5vcmQuTWFya2V0VHlwZRIPCgdpbWZfYnBzGAYgASgNEg8KB2NtZl9icHMYByABKA0SDwoHbW1mX2JwcxgIIAEoDRITCgt2aWV3X3N5bWJvbBgKIAEoCSJaCgVUb2tlbhIQCgh0b2tlbl9pZBgBIAEoDRIWCg50b2tlbl9kZWNpbWFscxgCIAEoDRISCgp3ZWlnaHRfYnBzGAQgASgNEhMKC3ZpZXdfc3ltYm9sGAUgASgJIigKCVF1b3RlU2l6ZRIMCgRzaXplGAEgASgEEg0KBXByaWNlGAIgASgEIk4KCk9yZGVyTGltaXQSDQoFcHJpY2UYBiABKAQSDAoEc2l6ZRgHIAEoBBIjCgpxdW90ZV9zaXplGAggASgLMg8ubm9yZC5RdW90ZVNpemUiYAoJT3JkZXJUeXBlEhgKBHNpZGUYAyABKA4yCi5ub3JkLlNpZGUSIQoJZmlsbF9tb2RlGAQgASgOMg4ubm9yZC5GaWxsTW9kZRIWCg5pc19yZWR1Y2Vfb25seRgFIAEoCCKZAQoMVHJhZGVPclBsYWNlEhEKCW1hcmtldF9pZBgCIAEoDRIjCgpvcmRlcl90eXBlGAMgASgLMg8ubm9yZC5PcmRlclR5cGUSHwoFbGltaXQYBiABKAsyEC5ub3JkLk9yZGVyTGltaXQSHAoPY2xpZW50X29yZGVyX2lkGCEgASgESACIAQFCEgoQX2NsaWVudF9vcmRlcl9pZCIfCgtDYW5jZWxPcmRlchIQCghvcmRlcl9pZBgCIAEoBCK/GgoGQWN0aW9uEhkKEWN1cnJlbnRfdGltZXN0YW1wGAEgASgDEg0KBW5vbmNlGAIgASgNEjQKDmNyZWF0ZV9zZXNzaW9uGAQgASgLMhoubm9yZC5BY3Rpb24uQ3JlYXRlU2Vzc2lvbkgAEjAKDGNyZWF0ZV90b2tlbhgFIAEoCzIYLm5vcmQuQWN0aW9uLkNyZWF0ZVRva2VuSAASMgoNY3JlYXRlX21hcmtldBgGIAEoCzIZLm5vcmQuQWN0aW9uLkNyZWF0ZU1hcmtldEgAEi4KC3BsYWNlX29yZGVyGAcgASgLMhcubm9yZC5BY3Rpb24uUGxhY2VPcmRlckgAEjoKEmNhbmNlbF9vcmRlcl9ieV9pZBgIIAEoCzIcLm5vcmQuQWN0aW9uLkNhbmNlbE9yZGVyQnlJZEgAEicKB2RlcG9zaXQYCSABKAsyFC5ub3JkLkFjdGlvbi5EZXBvc2l0SAASKQoId2l0aGRyYXcYCiABKAsyFS5ub3JkLkFjdGlvbi5XaXRoZHJhd0gAEkwKG3B5dGhfc2V0X3dvcm1ob2xlX2d1YXJkaWFucxgLIAEoCzIlLm5vcmQuQWN0aW9uLlB5dGhTZXRXb3JtaG9sZUd1YXJkaWFuc0gAEj4KFHB5dGhfc2V0X3N5bWJvbF9mZWVkGAwgASgLMh4ubm9yZC5BY3Rpb24uUHl0aFNldFN5bWJvbEZlZWRIABJCChZweXRoX3ByaWNlX2ZlZWRfdXBkYXRlGA0gASgLMiAubm9yZC5BY3Rpb24uUHl0aFByaWNlRmVlZFVwZGF0ZUgAEisKCWxpcXVpZGF0ZRgOIAEoCzIWLm5vcmQuQWN0aW9uLkxpcXVpZGF0ZUgAEjQKDnJldm9rZV9zZXNzaW9uGA8gASgLMhoubm9yZC5BY3Rpb24uUmV2b2tlU2Vzc2lvbkgAEiMKBXBhdXNlGBAgASgLMhIubm9yZC5BY3Rpb24uUGF1c2VIABInCgd1bnBhdXNlGBEgASgLMhQubm9yZC5BY3Rpb24uVW5wYXVzZUgAEikKCHRyYW5zZmVyGBIgASgLMhUubm9yZC5BY3Rpb24uVHJhbnNmZXJIABIuCgthZGRfdHJpZ2dlchggIAEoCzIXLm5vcmQuQWN0aW9uLkFkZFRyaWdnZXJIABI0Cg5yZW1vdmVfdHJpZ2dlchghIAEoCzIaLm5vcmQuQWN0aW9uLlJlbW92ZVRyaWdnZXJIABIyCg10YWtlX3Bvc2l0aW9uGCIgASgLMhkubm9yZC5BY3Rpb24uVGFrZVBvc2l0aW9uSAASHgoGYXRvbWljGCMgASgLMgwubm9yZC5BdG9taWNIABpTCg1DcmVhdGVTZXNzaW9uEhMKC3VzZXJfcHVia2V5GAEgASgMEhMKC2Jsc3RfcHVia2V5GAIgASgMEhgKEGV4cGlyeV90aW1lc3RhbXAYAyABKAMadwoLQ3JlYXRlVG9rZW4SFgoOdG9rZW5fZGVjaW1hbHMYASABKA0SEgoKd2VpZ2h0X2JwcxgDIAEoDRITCgt2aWV3X3N5bWJvbBgEIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAUgASgJEhAKCHNvbF9hZGRyGAYgASgMGtoBCgxDcmVhdGVNYXJrZXQSFQoNc2l6ZV9kZWNpbWFscxgBIAEoDRIWCg5wcmljZV9kZWNpbWFscxgCIAEoDRIPCgdpbWZfYnBzGAMgASgNEg8KB2NtZl9icHMYBCABKA0SDwoHbW1mX2JwcxgFIAEoDRIlCgttYXJrZXRfdHlwZRgGIAEoDjIQLm5vcmQuTWFya2V0VHlwZRITCgt2aWV3X3N5bWJvbBgHIAEoCRIVCg1vcmFjbGVfc3ltYm9sGAggASgJEhUKDWJhc2VfdG9rZW5faWQYCSABKA0apgMKClBsYWNlT3JkZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIRCgltYXJrZXRfaWQYAiABKA0SGAoEc2lkZRgDIAEoDjIKLm5vcmQuU2lkZRIhCglmaWxsX21vZGUYBCABKA4yDi5ub3JkLkZpbGxNb2RlEhYKDmlzX3JlZHVjZV9vbmx5GAUgASgIEg0KBXByaWNlGAYgASgEEgwKBHNpemUYByABKAQSIwoKcXVvdGVfc2l6ZRgIIAEoCzIPLm5vcmQuUXVvdGVTaXplEiEKFGRlbGVnYXRvcl9hY2NvdW50X2lkGCAgASgNSACIAQESHAoPY2xpZW50X29yZGVyX2lkGCEgASgESAGIAQESHgoRc2VuZGVyX2FjY291bnRfaWQYIiABKA1IAogBARIfChJzZW5kZXJfdHJhY2tpbmdfaWQYIyABKARIA4gBAUIXChVfZGVsZWdhdG9yX2FjY291bnRfaWRCEgoQX2NsaWVudF9vcmRlcl9pZEIUChJfc2VuZGVyX2FjY291bnRfaWRCFQoTX3NlbmRlcl90cmFja2luZ19pZBqpAQoPQ2FuY2VsT3JkZXJCeUlkEhIKCnNlc3Npb25faWQYASABKAQSEAoIb3JkZXJfaWQYAiABKAQSIQoUZGVsZWdhdG9yX2FjY291bnRfaWQYICABKA1IAIgBARIeChFzZW5kZXJfYWNjb3VudF9pZBghIAEoDUgBiAEBQhcKFV9kZWxlZ2F0b3JfYWNjb3VudF9pZEIUChJfc2VuZGVyX2FjY291bnRfaWQaWAoHRGVwb3NpdBIUCgxhY3Rpb25fbm9uY2UYASABKAQSEgoKdG9rZW5fYWRkchgCIAEoDBIOCgZhbW91bnQYAyABKAQSEwoLdXNlcl9wdWJrZXkYBCABKAwaQAoIV2l0aGRyYXcSEAoIdG9rZW5faWQYASABKA0SEgoKc2Vzc2lvbl9pZBgCIAEoBBIOCgZhbW91bnQYAyABKAQaSQoYUHl0aFNldFdvcm1ob2xlR3VhcmRpYW5zEhoKEmd1YXJkaWFuX3NldF9pbmRleBgBIAEoDRIRCglhZGRyZXNzZXMYAiADKAwaQQoRUHl0aFNldFN5bWJvbEZlZWQSFQoNb3JhY2xlX3N5bWJvbBgBIAEoCRIVCg1wcmljZV9mZWVkX2lkGAIgASgMGi8KE1B5dGhQcmljZUZlZWRVcGRhdGUSGAoQcmF3X3B5dGhuZXRfZGF0YRgBIAEoDBqHAQoJTGlxdWlkYXRlEh0KFWxpcXVpZGF0b3Jfc2Vzc2lvbl9pZBgBIAEoBBIdChVsaXF1aWRhdGVlX2FjY291bnRfaWQYAiABKA0SIgoVbGlxdWlkYXRvcl9hY2NvdW50X2lkGAMgASgNSACIAQFCGAoWX2xpcXVpZGF0b3JfYWNjb3VudF9pZBojCg1SZXZva2VTZXNzaW9uEhIKCnNlc3Npb25faWQYASABKAQaBwoFUGF1c2UaCQoHVW5wYXVzZRrPAQoIVHJhbnNmZXISEgoKc2Vzc2lvbl9pZBgBIAEoBBIXCg9mcm9tX2FjY291bnRfaWQYAiABKA0SEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhoKDXRvX2FjY291bnRfaWQYCCABKA1IAIgBARIyCg9zcGVjaWFsX2FjY291bnQYCSABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEAoOX3RvX2FjY291bnRfaWRCEgoQX3NwZWNpYWxfYWNjb3VudBrXAQoKQWRkVHJpZ2dlchISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIfCgRraW5kGAMgASgOMhEubm9yZC5UcmlnZ2VyS2luZBIYCgRzaWRlGAQgASgOMgoubm9yZC5TaWRlEhUKDXRyaWdnZXJfcHJpY2UYBSABKAQSGAoLbGltaXRfcHJpY2UYBiABKARIAIgBARIXCgphY2NvdW50X2lkGAogASgNSAGIAQFCDgoMX2xpbWl0X3ByaWNlQg0KC19hY2NvdW50X2lkGtoBCg1SZW1vdmVUcmlnZ2VyEhIKCnNlc3Npb25faWQYASABKAQSEQoJbWFya2V0X2lkGAIgASgNEh8KBGtpbmQYAyABKA4yES5ub3JkLlRyaWdnZXJLaW5kEhgKBHNpZGUYBCABKA4yCi5ub3JkLlNpZGUSFQoNdHJpZ2dlcl9wcmljZRgFIAEoBBIYCgtsaW1pdF9wcmljZRgGIAEoBEgAiAEBEhcKCmFjY291bnRfaWQYCiABKA1IAYgBAUIOCgxfbGltaXRfcHJpY2VCDQoLX2FjY291bnRfaWQalwEKDFRha2VQb3NpdGlvbhISCgpzZXNzaW9uX2lkGAEgASgEEhEKCW1hcmtldF9pZBgCIAEoDRIMCgRzaXplGAMgASgDEh4KEXNlbmRlcl9hY2NvdW50X2lkGAQgASgNSACIAQESEgoFcHJpY2UYBSABKARIAYgBAUIUChJfc2VuZGVyX2FjY291bnRfaWRCCAoGX3ByaWNlQgYKBGtpbmQidwoTQXRvbWljU3ViYWN0aW9uS2luZBIsCg50cmFkZV9vcl9wbGFjZRgGIAEoCzISLm5vcmQuVHJhZGVPclBsYWNlSAASKQoMY2FuY2VsX29yZGVyGAcgASgLMhEubm9yZC5DYW5jZWxPcmRlckgAQgcKBWlubmVyInAKBkF0b21pYxISCgpzZXNzaW9uX2lkGAEgASgEEhcKCmFjY291bnRfaWQYAiABKA1IAIgBARIqCgdhY3Rpb25zGAYgAygLMhkubm9yZC5BdG9taWNTdWJhY3Rpb25LaW5kQg0KC19hY2NvdW50X2lkItAZCgdSZWNlaXB0EhEKCWFjdGlvbl9pZBgBIAEoBBIaCgNlcnIYICABKA4yCy5ub3JkLkVycm9ySAASQgoVY3JlYXRlX3Nlc3Npb25fcmVzdWx0GCEgASgLMiEubm9yZC5SZWNlaXB0LkNyZWF0ZVNlc3Npb25SZXN1bHRIABI8ChJwbGFjZV9vcmRlcl9yZXN1bHQYIiABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEj4KE2NhbmNlbF9vcmRlcl9yZXN1bHQYIyABKAsyHy5ub3JkLlJlY2VpcHQuQ2FuY2VsT3JkZXJSZXN1bHRIABI1Cg5kZXBvc2l0X3Jlc3VsdBgkIAEoCzIbLm5vcmQuUmVjZWlwdC5EZXBvc2l0UmVzdWx0SAASPgoTaW5zZXJ0X3Rva2VuX3Jlc3VsdBglIAEoCzIfLm5vcmQuUmVjZWlwdC5JbnNlcnRUb2tlblJlc3VsdEgAEkAKFGluc2VydF9tYXJrZXRfcmVzdWx0GCYgASgLMiAubm9yZC5SZWNlaXB0Lkluc2VydE1hcmtldFJlc3VsdEgAEjcKD3dpdGhkcmF3X3Jlc3VsdBgnIAEoCzIcLm5vcmQuUmVjZWlwdC5XaXRoZHJhd1Jlc3VsdEgAEkkKGW9yYWNsZV9zeW1ib2xfZmVlZF9yZXN1bHQYKCABKAsyJC5ub3JkLlJlY2VpcHQuT3JhY2xlU3ltYm9sRmVlZFJlc3VsdEgAEkAKFG9yYWNsZV91cGRhdGVfcmVzdWx0GCkgASgLMiAubm9yZC5SZWNlaXB0Lk9yYWNsZVVwZGF0ZVJlc3VsdEgAEksKGnVwZGF0ZV9ndWFyZGlhbl9zZXRfcmVzdWx0GCogASgLMiUubm9yZC5SZWNlaXB0LlVwZGF0ZUd1YXJkaWFuU2V0UmVzdWx0SAASNQoKbGlxdWlkYXRlZBgrIAEoCzIfLm5vcmQuUmVjZWlwdC5BY2NvdW50TGlxdWlkYXRlZEgAEjcKD3Nlc3Npb25fcmV2b2tlZBgsIAEoCzIcLm5vcmQuUmVjZWlwdC5TZXNzaW9uUmV2b2tlZEgAEiYKBnBhdXNlZBgtIAEoCzIULm5vcmQuUmVjZWlwdC5QYXVzZWRIABIqCgh1bnBhdXNlZBguIAEoCzIWLm5vcmQuUmVjZWlwdC5VbnBhdXNlZEgAEjAKC3RyYW5zZmVycmVkGC8gASgLMhkubm9yZC5SZWNlaXB0LlRyYW5zZmVycmVkSAASMwoNdHJpZ2dlcl9hZGRlZBhAIAEoCzIaLm5vcmQuUmVjZWlwdC5UcmlnZ2VyQWRkZWRIABJEChZ0cmlnZ2VyX3N0YXR1c19jaGFuZ2VkGEEgASgLMiIubm9yZC5SZWNlaXB0LlRyaWdnZXJTdGF0dXNDaGFuZ2VkSAASTQoYcG9zaXRpb25fdGFrZW5fb3JfdHJhZGVkGEIgASgLMikubm9yZC5SZWNlaXB0LlBvc2l0aW9uVGFrZW5PclRyYWRlZFJlc3VsdEgAEiwKBmF0b21pYxhDIAEoCzIaLm5vcmQuUmVjZWlwdC5BdG9taWNSZXN1bHRIABp4CgZQb3N0ZWQSGAoEc2lkZRgBIAEoDjIKLm5vcmQuU2lkZRIRCgltYXJrZXRfaWQYAiABKA0SDQoFcHJpY2UYAyABKAQSDAoEc2l6ZRgEIAEoBBIQCghvcmRlcl9pZBgFIAEoBBISCgphY2NvdW50X2lkGAYgASgNGkoKBVRyYWRlEhAKCG9yZGVyX2lkGAIgASgEEg0KBXByaWNlGAQgASgEEgwKBHNpemUYBSABKAQSEgoKYWNjb3VudF9pZBgGIAEoDRopChNDcmVhdGVTZXNzaW9uUmVzdWx0EhIKCnNlc3Npb25faWQYASABKAQa1gEKEFBsYWNlT3JkZXJSZXN1bHQSKQoGcG9zdGVkGAEgASgLMhQubm9yZC5SZWNlaXB0LlBvc3RlZEgAiAEBEiIKBWZpbGxzGAIgAygLMhMubm9yZC5SZWNlaXB0LlRyYWRlEhwKD2NsaWVudF9vcmRlcl9pZBgDIAEoBEgBiAEBEh8KEnNlbmRlcl90cmFja2luZ19pZBgEIAEoBEgCiAEBQgkKB19wb3N0ZWRCEgoQX2NsaWVudF9vcmRlcl9pZEIVChNfc2VuZGVyX3RyYWNraW5nX2lkGkIKC1Rha2VuUmVzdWx0EgsKA3BubBgBIAEoAxIMCgRzaXplGAIgASgDEhgKEHRha2VyX2FjY291bnRfaWQYAyABKA0aqwEKG1Bvc2l0aW9uVGFrZW5PclRyYWRlZFJlc3VsdBIRCgltYXJrZXRfaWQYASABKA0SKgoFdGFrZW4YAiABKAsyGS5ub3JkLlJlY2VpcHQuVGFrZW5SZXN1bHRIABIwCgZ0cmFkZWQYAyABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAQhsKGVBvc2l0aW9uVGFrZW5PclRyYWRlZEtpbmQaOQoRQ2FuY2VsT3JkZXJSZXN1bHQSEAoIb3JkZXJfaWQYASABKAQSEgoKYWNjb3VudF9pZBgCIAEoDRpwCg1EZXBvc2l0UmVzdWx0EhAKCHRva2VuX2lkGAEgASgNEg4KBmFtb3VudBgCIAEoBBISCgphY2NvdW50X2lkGAMgASgNEhQKDHVzZXJfY3JlYXRlZBgEIAEoCBITCgt1c2VyX3B1YmtleRgFIAEoDBpDChFJbnNlcnRUb2tlblJlc3VsdBISCgpjaGFpbl9hZGRyGAEgASgMEhoKBXRva2VuGAIgASgLMgsubm9yZC5Ub2tlbhoyChJJbnNlcnRNYXJrZXRSZXN1bHQSHAoGbWFya2V0GAEgASgLMgwubm9yZC5NYXJrZXQaeQoOV2l0aGRyYXdSZXN1bHQSEAoIdG9rZW5faWQYASABKA0SDgoGYW1vdW50GAIgASgEEg8KB2JhbGFuY2UYAyABKAQSEgoKYWNjb3VudF9pZBgEIAEoDRILCgNmZWUYBSABKAQSEwoLdXNlcl9wdWJrZXkYBiABKAwaQAoWT3JhY2xlU3ltYm9sRmVlZFJlc3VsdBIVCg1vcmFjbGVfc3ltYm9sGAEgASgJEg8KB2ZlZWRfaWQYAiABKAwaJwoST3JhY2xlVXBkYXRlUmVzdWx0EhEKCXRpbWVzdGFtcBgBIAEoAxpIChdVcGRhdGVHdWFyZGlhblNldFJlc3VsdBIaChJndWFyZGlhbl9zZXRfaW5kZXgYASABKA0SEQoJYWRkcmVzc2VzGAIgAygMGkMKDFBlcnBQb3NpdGlvbhIRCgltYXJrZXRfaWQYASABKA0SEQoJYmFzZV9zaXplGAIgASgDEg0KBXByaWNlGAMgASgEGp4BChFBY2NvdW50TGlxdWlkYXRlZBIdChVsaXF1aWRhdG9yX2FjY291bnRfaWQYASABKA0SHQoVbGlxdWlkYXRlZV9hY2NvdW50X2lkGAIgASgNEhgKEGNhbmNlbGxlZF9vcmRlcnMYAyADKAQSMQoNcmVtb3ZlZF9wZXJwcxgEIAMoCzIaLm5vcmQuUmVjZWlwdC5QZXJwUG9zaXRpb24aEAoOU2Vzc2lvblJldm9rZWQaCAoGUGF1c2VkGgoKCFVucGF1c2VkGuEBCgtUcmFuc2ZlcnJlZBIXCg9mcm9tX2FjY291bnRfaWQYASABKA0SHAoPdG9fdXNlcl9hY2NvdW50GAIgASgNSACIAQESEAoIdG9rZW5faWQYAyABKA0SDgoGYW1vdW50GAQgASgEEhcKD2FjY291bnRfY3JlYXRlZBgFIAEoCBI1ChJ0b19zcGVjaWFsX2FjY291bnQYBiABKA4yFC5ub3JkLlNwZWNpYWxBY2NvdW50SAGIAQFCEgoQX3RvX3VzZXJfYWNjb3VudEIVChNfdG9fc3BlY2lhbF9hY2NvdW50Gg4KDFRyaWdnZXJBZGRlZBoWChRUcmlnZ2VyU3RhdHVzQ2hhbmdlZBqbAQoZQXRvbWljU3ViYWN0aW9uUmVzdWx0S2luZBI8ChJwbGFjZV9vcmRlcl9yZXN1bHQYASABKAsyHi5ub3JkLlJlY2VpcHQuUGxhY2VPcmRlclJlc3VsdEgAEjcKDGNhbmNlbF9vcmRlchgCIAEoCzIfLm5vcmQuUmVjZWlwdC5DYW5jZWxPcmRlclJlc3VsdEgAQgcKBWlubmVyGkgKDEF0b21pY1Jlc3VsdBI4CgdyZXN1bHRzGAEgAygLMicubm9yZC5SZWNlaXB0LkF0b21pY1N1YmFjdGlvblJlc3VsdEtpbmRCBgoEa2luZCoYCgRTaWRlEgcKA0FTSxAAEgcKA0JJRBABKi0KC1RyaWdnZXJLaW5kEg0KCVNUT1BfTE9TUxAAEg8KC1RBS0VfUFJPRklUEAEqSgoNVHJpZ2dlclN0YXR1cxIKCgZBQ1RJVkUQABILCgdTVUNDRVNTEAESCgoGQ0FOQ0VMEAISCAoERkFJTBADEgoKBlJFTU9WRRAEKk8KCEZpbGxNb2RlEgkKBUxJTUlUEAASDQoJUE9TVF9PTkxZEAESFwoTSU1NRURJQVRFX09SX0NBTkNFTBACEhAKDEZJTExfT1JfS0lMTBADKiYKCk1hcmtldFR5cGUSCAoEU1BPVBAAEg4KClBFUlBFVFVBTFMQASqxGAoFRXJyb3ISDQoJRFVQTElDQVRFEAASEgoOREVDT0RFX0ZBSUxVUkUQAhIVChFJTlZBTElEX1NJR05BVFVSRRADEhQKEE1BUktFVF9OT1RfRk9VTkQQBBITCg9UT0tFTl9OT1RfRk9VTkQQBRISCg5VU0VSX05PVF9GT1VORBAGEhUKEVNFU1NJT05fTk9UX0ZPVU5EEAcSEwoPT1JERVJfTk9UX0ZPVU5EEAgSEwoPT1JERVJfU0laRV9aRVJPEAkSFwoTQVJJVEhNRVRJQ19PVkVSRkxPVxALEhcKE0lOVkFMSURfT1JERVJfT1dORVIQDhIaChZLRVlfQUxSRUFEWV9SRUdJU1RFUkVEEA8SHAoYRVhQSVJZX1RJTUVTVEFNUF9JTl9QQVNUEBASHAoYVVBEQVRFX1RJTUVTVEFNUF9JTl9QQVNUEBESGAoUVE9PX01BTllfT1BFTl9PUkRFUlMQEhIdChlXSVRIRFJBV19BTU9VTlRfVE9PX1NNQUxMEBUSIAocREVDT0RFX0ZBSUxVUkVfTEVOR1RIX1BSRUZJWBAhEhYKEkRFQ09ERV9GQUlMVVJFX1JBVxAiEhkKFURFQ09ERV9GQUlMVVJFX0RPTUFJThAjEhcKE1BZVEhfRkVFRF9OT1RfQURERUQQXRIVChFQWVRIX0ZFRURfTUlTU0lORxBeEhsKF1BZVEhfRkVFRF9BTFJFQURZX0FEREVEEF8SIwofUFlUSF9HVUFSRElBTl9TRVRfVU5JTklUSUFMSVpFRBBgEh0KGVBZVEhfR1VBUkRJQU5fU0VUX0lOVkFMSUQQYRIjCh9QWVRIX0ZFRURfREVDSU1BTFNfT1VUX09GX1JBTkdFEGISIAocUFlUSF9GRUVEX1BSSUNFX09VVF9PRl9SQU5HRRBjEiMKH1BZVEhfRkVFRF9WQVJJQU5DRV9PVVRfT0ZfUkFOR0UQZBI1CjFQWVRIX0dVQVJESUFOX1NFVF9BTkRfUFlUSF9TSUdOQVRVUkVfRE9fTk9UX01BVENIEGUSHAoYSU5WQUxJRF9UT0tFTl9QQVJBTUVURVJTEGYSHAoYSU5ERVhfUFJJQ0VfT1VUX09GX1JBTkdFEGcSHwobSU5ERVhfREVDSU1BTFNfT1VUX09GX1JBTkdFEGgSGQoVSU5WQUxJRF9TVEFURV9WRVJTSU9OEGkSEwoPSU5WQUxJRF9NQVJHSU5TEGsSIQodTUFSS0VUX0RFQ0lNQUxTX0VYQ0VFRF9MSU1JVFMQbRITCg9UT09fTUFOWV9UT0tFTlMQbhIUChBGVU5ESU5HX09WRVJGTE9XEHsSNwozQ0FOX1JFRFVDRV9QT1NJVElPTl9PTkxZX0lGX0FMTF9PUkRFUlNfQVJFX0NBTkNFTEVEEHwSFwoTVU5FWFBFQ1RFRF9UT0tFTl9JRBB/EhQKD1RPS0VOX05PVF9SRUFEWRCCARIcChhUT0tFTl9BTFJFQURZX1JFR0lTVEVSRUQQcBIhChxJTU1FRElBVEVfT1JERVJfR09UX05PX0ZJTExTEIUBEhkKFEZBSUxFRF9UT19GSUxMX0xJTUlUEIYBEjAKK1BPU1RfT05MWV9NVVNUX05PVF9GSUxMX0FOWV9PUFBPU0lURV9PUkRFUlMQhwESDAoHSU5WQUxJRBCIARIQCgtNQUlOVEVOQU5DRRCJARIaChVNSU5JTVVNX1NJWkVfREVDSU1BTFMQigESMgotUEFSQU1FVEVSU19XSUxMX0NSRUFURV9OT05fT1BFUkFUSU9OQUxfTUFSS0VUEIsBEiIKHU9OTFlfSU1NRURJQVRFX09SREVSU19BTExPV0VEEIwBEhsKFlRPT19NQU5ZX1VTRVJfQUNDT1VOVFMQjQESFgoRQUNDT1VOVF9OT1RfRk9VTkQQjgESGgoVQUNDT1VOVF9JTlZBTElEX09XTkVSEI8BEhEKDERVU1RfQUNDT1VOVBCRARIMCgdCQUxBTkNFEKABEh0KGEJBTEFOQ0VfREVQT1NJVF9PVkVSRkxPVxChARIcChdCQUxBTkNFX0NIQU5HRV9PVkVSRkxPVxCiARIiCh1CQUxBTkNFX0NIQU5HRV9MSU1JVF9FWENFRURFRBCjARIZChRCQUxBTkNFX0lOU1VGRklDSUVOVBCkARIeChlVTkFVVEhFTlRJQ0FURURfTDFfQUNUSU9OEKUBEh0KGEVOQ09ERURfQUNUSU9OX1RPT19MQVJHRRCmARIMCgdUUklHR0VSEKgBEhoKFVRSSUdHRVJfSU5WQUxJRF9QUklDRRCpARIWChFUUklHR0VSX05PVF9GT1VORBCqARIOCglUSU1FU1RBTVAQsAESHwoaVElNRVNUQU1QX09VVF9PRl9USFJFU0hPTEQQsQESFAoPVElNRVNUQU1QX1NUQUxFELIBEiUKIEJBTktSVVBUQ1lfSU5TVUZGSUNJRU5UX0NPVkVSQUdFELkBEhkKFEJBTktSVVBUQ1lfTk9UX0ZPVU5EELoBEhsKFkJBTktSVVBUQ1lfTk9UX0FMTE9XRUQQuwESFQoQTUFSS0VUX05PVF9SRUFEWRDAARISCg1NQVJLRVRfRlJPWkVOEMEBEhEKDE1BUktFVF9FTVBUWRDCARINCghQT1NJVElPThDIARIXChJQT1NJVElPTl9OT1RfRk9VTkQQyQESGQoUUE9TSVRJT05fU1RBVEVfT1JERVIQygESHwoaUE9TSVRJT05fU1RBVEVfT1JERVJfUFJJQ0UQywESHgoZUE9TSVRJT05fU1RBVEVfT1JERVJfU0laRRDMARIeChlQT1NJVElPTl9TVEFURV9PUkRFUl9TSURFEM0BEhgKE1BPU0lUSU9OX1NJWkVfTElNSVQQzgESCgoFUFJJQ0UQ0QESGwoWU0lHTkFUVVJFX1ZFUklGSUNBVElPThDZARIwCitTSUdOQVRVUkVfVkVSSUZJQ0FUSU9OX01BTEZPUk1FRF9QVUJMSUNfS0VZENoBEioKJVNJR05BVFVSRV9WRVJJRklDQVRJT05fSU5WQUxJRF9MRU5HVEgQ2wESCQoEUklTSxDgARI0Ci9SSVNLX0RFTEVHQVRJT05fTUZfVE9fQkVfTEVTU19USEFOX09SX0VRVUFMX01NRhDhARIkCh9SSVNLX09NRl9MRVNTX1RIQU5fT1JfRVFVQUxfSU1GEOIBEiQKH1JJU0tfT01GX0xFU1NfVEhBTl9PUl9FUVVBTF9DTUYQ4wESKgolUklTS19UUkFERV9PTUZfTEVTU19USEFOX09SX0VRVUFMX0NNRhDlARI1CjBSSVNLX1VOSEVBTFRIWV9NRl9BTkRfUE9OX0FGVEVSX0JFVFRFUl9PRl9CRUZPUkUQ5AESFAoPT1JERVJfRVhFQ1VUSU9OEPABEhoKFU9SREVSX0VYRUNVVElPTl9FTVBUWRDxARIhChxPUkRFUl9FWEVDVVRJT05fRklMTF9PUl9LSUxMEPIBEiMKHk9SREVSX0VYRUNVVElPTl9NSVNTSU5HX0xJTUlUUxDzARIiCh1PUkRFUl9FWEVDVVRJT05fTUlTU0lOR19QUklDRRD0ARIfChpPUkRFUl9FWEVDVVRJT05fU0laRV9MSU1JVBD1ARIgChtPUkRFUl9FWEVDVVRJT05fTElNSVRfUFJJQ0UQ9gESHgoZT1JERVJfUkVEVUNFX0lTX1BPU1RfT05MWRD3ARIfChpPUkRFUl9FWEVDVVRJT05fU0VMTF9QUklDRRD4ARIlCiBPUkRFUl9TSVpFX0VYQ0VFRFNfUE9TSVRJT05fU0laRRD5ARIoCiNBVE9NSUNTX1RSQURFU19DQU5OT1RfRk9MTE9XX1BMQUNFUxCAAhIwCitBVE9NSUNTX0NBTkNFTFNfQ0FOTk9UX0ZPTExPV19UUkFERVNfUExBQ0VTEIECEiYKIUFDVElPTl9QT1NJVElPTl9TSE9VTERfQkVfQ09WRVJFRBCRAhIZChRBQ1RJT05fSU5WQUxJRF9OT05DRRCSAhIpCiRBQ1RJT05fUFJPUE9TRURfUFJJQ0VfTVVTVF9CRV9ISUdIRVIQkwISFAoPTk9UX0lNUExFTUVOVEVEEPQDEgwKB0Ryb3BwZWQQ5wcqHgoOU3BlY2lhbEFjY291bnQSDAoIRmVlVmF1bHQQAGIGcHJvdG8z");
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* @generated from message nord.Market
|
|
@@ -195,14 +195,14 @@ export const TokenSchema: GenMessage<Token, {jsonType: TokenJson}> = /*@__PURE__
|
|
|
195
195
|
*/
|
|
196
196
|
export type QuoteSize = Message<"nord.QuoteSize"> & {
|
|
197
197
|
/**
|
|
198
|
-
* In `Market.size_decimals` decimals
|
|
198
|
+
* In `Market.size_decimals` decimals. 63 bit positive integer.
|
|
199
199
|
*
|
|
200
200
|
* @generated from field: uint64 size = 1;
|
|
201
201
|
*/
|
|
202
202
|
size: bigint;
|
|
203
203
|
|
|
204
204
|
/**
|
|
205
|
-
* In `Market.price_decimals` decimals
|
|
205
|
+
* In `Market.price_decimals` decimals. 64 bit positive integer.
|
|
206
206
|
*
|
|
207
207
|
* @generated from field: uint64 price = 2;
|
|
208
208
|
*/
|
|
@@ -219,14 +219,14 @@ export type QuoteSize = Message<"nord.QuoteSize"> & {
|
|
|
219
219
|
*/
|
|
220
220
|
export type QuoteSizeJson = {
|
|
221
221
|
/**
|
|
222
|
-
* In `Market.size_decimals` decimals
|
|
222
|
+
* In `Market.size_decimals` decimals. 63 bit positive integer.
|
|
223
223
|
*
|
|
224
224
|
* @generated from field: uint64 size = 1;
|
|
225
225
|
*/
|
|
226
226
|
size?: string;
|
|
227
227
|
|
|
228
228
|
/**
|
|
229
|
-
* In `Market.price_decimals` decimals
|
|
229
|
+
* In `Market.price_decimals` decimals. 64 bit positive integer.
|
|
230
230
|
*
|
|
231
231
|
* @generated from field: uint64 price = 2;
|
|
232
232
|
*/
|
|
@@ -1063,7 +1063,7 @@ export type Action_PlaceOrder = Message<"nord.Action.PlaceOrder"> & {
|
|
|
1063
1063
|
|
|
1064
1064
|
/**
|
|
1065
1065
|
* Quote size limit.
|
|
1066
|
-
* Optional
|
|
1066
|
+
* Optional.
|
|
1067
1067
|
*
|
|
1068
1068
|
* @generated from field: nord.QuoteSize quote_size = 8;
|
|
1069
1069
|
*/
|
|
@@ -1184,7 +1184,7 @@ export type Action_PlaceOrderJson = {
|
|
|
1184
1184
|
|
|
1185
1185
|
/**
|
|
1186
1186
|
* Quote size limit.
|
|
1187
|
-
* Optional
|
|
1187
|
+
* Optional.
|
|
1188
1188
|
*
|
|
1189
1189
|
* @generated from field: nord.QuoteSize quote_size = 8;
|
|
1190
1190
|
*/
|
|
@@ -1783,11 +1783,14 @@ export type Action_AddTrigger = Message<"nord.Action.AddTrigger"> & {
|
|
|
1783
1783
|
side: Side;
|
|
1784
1784
|
|
|
1785
1785
|
/**
|
|
1786
|
-
*
|
|
1787
|
-
*
|
|
1788
|
-
* @generated from field: uint64 price = 5;
|
|
1786
|
+
* @generated from field: uint64 trigger_price = 5;
|
|
1789
1787
|
*/
|
|
1790
|
-
|
|
1788
|
+
triggerPrice: bigint;
|
|
1789
|
+
|
|
1790
|
+
/**
|
|
1791
|
+
* @generated from field: optional uint64 limit_price = 6;
|
|
1792
|
+
*/
|
|
1793
|
+
limitPrice?: bigint;
|
|
1791
1794
|
|
|
1792
1795
|
/**
|
|
1793
1796
|
* @generated from field: optional uint32 account_id = 10;
|
|
@@ -1820,11 +1823,14 @@ export type Action_AddTriggerJson = {
|
|
|
1820
1823
|
side?: SideJson;
|
|
1821
1824
|
|
|
1822
1825
|
/**
|
|
1823
|
-
*
|
|
1824
|
-
*
|
|
1825
|
-
* @generated from field: uint64 price = 5;
|
|
1826
|
+
* @generated from field: uint64 trigger_price = 5;
|
|
1826
1827
|
*/
|
|
1827
|
-
|
|
1828
|
+
triggerPrice?: string;
|
|
1829
|
+
|
|
1830
|
+
/**
|
|
1831
|
+
* @generated from field: optional uint64 limit_price = 6;
|
|
1832
|
+
*/
|
|
1833
|
+
limitPrice?: string;
|
|
1828
1834
|
|
|
1829
1835
|
/**
|
|
1830
1836
|
* @generated from field: optional uint32 account_id = 10;
|
|
@@ -1864,9 +1870,14 @@ export type Action_RemoveTrigger = Message<"nord.Action.RemoveTrigger"> & {
|
|
|
1864
1870
|
side: Side;
|
|
1865
1871
|
|
|
1866
1872
|
/**
|
|
1867
|
-
* @generated from field: uint64
|
|
1873
|
+
* @generated from field: uint64 trigger_price = 5;
|
|
1868
1874
|
*/
|
|
1869
|
-
|
|
1875
|
+
triggerPrice: bigint;
|
|
1876
|
+
|
|
1877
|
+
/**
|
|
1878
|
+
* @generated from field: optional uint64 limit_price = 6;
|
|
1879
|
+
*/
|
|
1880
|
+
limitPrice?: bigint;
|
|
1870
1881
|
|
|
1871
1882
|
/**
|
|
1872
1883
|
* @generated from field: optional uint32 account_id = 10;
|
|
@@ -1899,9 +1910,14 @@ export type Action_RemoveTriggerJson = {
|
|
|
1899
1910
|
side?: SideJson;
|
|
1900
1911
|
|
|
1901
1912
|
/**
|
|
1902
|
-
* @generated from field: uint64
|
|
1913
|
+
* @generated from field: uint64 trigger_price = 5;
|
|
1903
1914
|
*/
|
|
1904
|
-
|
|
1915
|
+
triggerPrice?: string;
|
|
1916
|
+
|
|
1917
|
+
/**
|
|
1918
|
+
* @generated from field: optional uint64 limit_price = 6;
|
|
1919
|
+
*/
|
|
1920
|
+
limitPrice?: string;
|
|
1905
1921
|
|
|
1906
1922
|
/**
|
|
1907
1923
|
* @generated from field: optional uint32 account_id = 10;
|
|
@@ -2218,10 +2234,10 @@ export type Receipt = Message<"nord.Receipt"> & {
|
|
|
2218
2234
|
case: "triggerAdded";
|
|
2219
2235
|
} | {
|
|
2220
2236
|
/**
|
|
2221
|
-
* @generated from field: nord.Receipt.
|
|
2237
|
+
* @generated from field: nord.Receipt.TriggerStatusChanged trigger_status_changed = 65;
|
|
2222
2238
|
*/
|
|
2223
|
-
value:
|
|
2224
|
-
case: "
|
|
2239
|
+
value: Receipt_TriggerStatusChanged;
|
|
2240
|
+
case: "triggerStatusChanged";
|
|
2225
2241
|
} | {
|
|
2226
2242
|
/**
|
|
2227
2243
|
* @generated from field: nord.Receipt.PositionTakenOrTradedResult position_taken_or_traded = 66;
|
|
@@ -2336,9 +2352,9 @@ export type ReceiptJson = {
|
|
|
2336
2352
|
triggerAdded?: Receipt_TriggerAddedJson;
|
|
2337
2353
|
|
|
2338
2354
|
/**
|
|
2339
|
-
* @generated from field: nord.Receipt.
|
|
2355
|
+
* @generated from field: nord.Receipt.TriggerStatusChanged trigger_status_changed = 65;
|
|
2340
2356
|
*/
|
|
2341
|
-
|
|
2357
|
+
triggerStatusChanged?: Receipt_TriggerStatusChangedJson;
|
|
2342
2358
|
|
|
2343
2359
|
/**
|
|
2344
2360
|
* @generated from field: nord.Receipt.PositionTakenOrTradedResult position_taken_or_traded = 66;
|
|
@@ -3305,22 +3321,22 @@ export const Receipt_TriggerAddedSchema: GenMessage<Receipt_TriggerAdded, {jsonT
|
|
|
3305
3321
|
messageDesc(file_nord, 10, 20);
|
|
3306
3322
|
|
|
3307
3323
|
/**
|
|
3308
|
-
* @generated from message nord.Receipt.
|
|
3324
|
+
* @generated from message nord.Receipt.TriggerStatusChanged
|
|
3309
3325
|
*/
|
|
3310
|
-
export type
|
|
3326
|
+
export type Receipt_TriggerStatusChanged = Message<"nord.Receipt.TriggerStatusChanged"> & {
|
|
3311
3327
|
};
|
|
3312
3328
|
|
|
3313
3329
|
/**
|
|
3314
|
-
* @generated from message nord.Receipt.
|
|
3330
|
+
* @generated from message nord.Receipt.TriggerStatusChanged
|
|
3315
3331
|
*/
|
|
3316
|
-
export type
|
|
3332
|
+
export type Receipt_TriggerStatusChangedJson = {
|
|
3317
3333
|
};
|
|
3318
3334
|
|
|
3319
3335
|
/**
|
|
3320
|
-
* Describes the message nord.Receipt.
|
|
3321
|
-
* Use `create(
|
|
3336
|
+
* Describes the message nord.Receipt.TriggerStatusChanged.
|
|
3337
|
+
* Use `create(Receipt_TriggerStatusChangedSchema)` to create a new message.
|
|
3322
3338
|
*/
|
|
3323
|
-
export const
|
|
3339
|
+
export const Receipt_TriggerStatusChangedSchema: GenMessage<Receipt_TriggerStatusChanged, {jsonType: Receipt_TriggerStatusChangedJson}> = /*@__PURE__*/
|
|
3324
3340
|
messageDesc(file_nord, 10, 21);
|
|
3325
3341
|
|
|
3326
3342
|
/**
|
|
@@ -3454,6 +3470,47 @@ export type TriggerKindJson = "STOP_LOSS" | "TAKE_PROFIT";
|
|
|
3454
3470
|
export const TriggerKindSchema: GenEnum<TriggerKind, TriggerKindJson> = /*@__PURE__*/
|
|
3455
3471
|
enumDesc(file_nord, 1);
|
|
3456
3472
|
|
|
3473
|
+
/**
|
|
3474
|
+
* @generated from enum nord.TriggerStatus
|
|
3475
|
+
*/
|
|
3476
|
+
export enum TriggerStatus {
|
|
3477
|
+
/**
|
|
3478
|
+
* @generated from enum value: ACTIVE = 0;
|
|
3479
|
+
*/
|
|
3480
|
+
ACTIVE = 0,
|
|
3481
|
+
|
|
3482
|
+
/**
|
|
3483
|
+
* @generated from enum value: SUCCESS = 1;
|
|
3484
|
+
*/
|
|
3485
|
+
SUCCESS = 1,
|
|
3486
|
+
|
|
3487
|
+
/**
|
|
3488
|
+
* @generated from enum value: CANCEL = 2;
|
|
3489
|
+
*/
|
|
3490
|
+
CANCEL = 2,
|
|
3491
|
+
|
|
3492
|
+
/**
|
|
3493
|
+
* @generated from enum value: FAIL = 3;
|
|
3494
|
+
*/
|
|
3495
|
+
FAIL = 3,
|
|
3496
|
+
|
|
3497
|
+
/**
|
|
3498
|
+
* @generated from enum value: REMOVE = 4;
|
|
3499
|
+
*/
|
|
3500
|
+
REMOVE = 4,
|
|
3501
|
+
}
|
|
3502
|
+
|
|
3503
|
+
/**
|
|
3504
|
+
* @generated from enum nord.TriggerStatus
|
|
3505
|
+
*/
|
|
3506
|
+
export type TriggerStatusJson = "ACTIVE" | "SUCCESS" | "CANCEL" | "FAIL" | "REMOVE";
|
|
3507
|
+
|
|
3508
|
+
/**
|
|
3509
|
+
* Describes the enum nord.TriggerStatus.
|
|
3510
|
+
*/
|
|
3511
|
+
export const TriggerStatusSchema: GenEnum<TriggerStatus, TriggerStatusJson> = /*@__PURE__*/
|
|
3512
|
+
enumDesc(file_nord, 2);
|
|
3513
|
+
|
|
3457
3514
|
/**
|
|
3458
3515
|
* @generated from enum nord.FillMode
|
|
3459
3516
|
*/
|
|
@@ -3488,7 +3545,7 @@ export type FillModeJson = "LIMIT" | "POST_ONLY" | "IMMEDIATE_OR_CANCEL" | "FILL
|
|
|
3488
3545
|
* Describes the enum nord.FillMode.
|
|
3489
3546
|
*/
|
|
3490
3547
|
export const FillModeSchema: GenEnum<FillMode, FillModeJson> = /*@__PURE__*/
|
|
3491
|
-
enumDesc(file_nord,
|
|
3548
|
+
enumDesc(file_nord, 3);
|
|
3492
3549
|
|
|
3493
3550
|
/**
|
|
3494
3551
|
* @generated from enum nord.MarketType
|
|
@@ -3514,7 +3571,7 @@ export type MarketTypeJson = "SPOT" | "PERPETUALS";
|
|
|
3514
3571
|
* Describes the enum nord.MarketType.
|
|
3515
3572
|
*/
|
|
3516
3573
|
export const MarketTypeSchema: GenEnum<MarketType, MarketTypeJson> = /*@__PURE__*/
|
|
3517
|
-
enumDesc(file_nord,
|
|
3574
|
+
enumDesc(file_nord, 4);
|
|
3518
3575
|
|
|
3519
3576
|
/**
|
|
3520
3577
|
* Error codes returned by the engine.
|
|
@@ -3607,6 +3664,21 @@ export enum Error {
|
|
|
3607
3664
|
*/
|
|
3608
3665
|
WITHDRAW_AMOUNT_TOO_SMALL = 21,
|
|
3609
3666
|
|
|
3667
|
+
/**
|
|
3668
|
+
* @generated from enum value: DECODE_FAILURE_LENGTH_PREFIX = 33;
|
|
3669
|
+
*/
|
|
3670
|
+
DECODE_FAILURE_LENGTH_PREFIX = 33,
|
|
3671
|
+
|
|
3672
|
+
/**
|
|
3673
|
+
* @generated from enum value: DECODE_FAILURE_RAW = 34;
|
|
3674
|
+
*/
|
|
3675
|
+
DECODE_FAILURE_RAW = 34,
|
|
3676
|
+
|
|
3677
|
+
/**
|
|
3678
|
+
* @generated from enum value: DECODE_FAILURE_DOMAIN = 35;
|
|
3679
|
+
*/
|
|
3680
|
+
DECODE_FAILURE_DOMAIN = 35,
|
|
3681
|
+
|
|
3610
3682
|
/**
|
|
3611
3683
|
* @generated from enum value: PYTH_FEED_NOT_ADDED = 93;
|
|
3612
3684
|
*/
|
|
@@ -3939,6 +4011,14 @@ export enum Error {
|
|
|
3939
4011
|
*/
|
|
3940
4012
|
MARKET_FROZEN = 193,
|
|
3941
4013
|
|
|
4014
|
+
/**
|
|
4015
|
+
* Happens when there is no liquidity on the market at the moment of trigger
|
|
4016
|
+
* execution
|
|
4017
|
+
*
|
|
4018
|
+
* @generated from enum value: MARKET_EMPTY = 194;
|
|
4019
|
+
*/
|
|
4020
|
+
MARKET_EMPTY = 194,
|
|
4021
|
+
|
|
3942
4022
|
/**
|
|
3943
4023
|
* 11001_000
|
|
3944
4024
|
*
|
|
@@ -4089,6 +4169,11 @@ export enum Error {
|
|
|
4089
4169
|
*/
|
|
4090
4170
|
ORDER_EXECUTION_SELL_PRICE = 248,
|
|
4091
4171
|
|
|
4172
|
+
/**
|
|
4173
|
+
* @generated from enum value: ORDER_SIZE_EXCEEDS_POSITION_SIZE = 249;
|
|
4174
|
+
*/
|
|
4175
|
+
ORDER_SIZE_EXCEEDS_POSITION_SIZE = 249,
|
|
4176
|
+
|
|
4092
4177
|
/**
|
|
4093
4178
|
* 10000_0000
|
|
4094
4179
|
*
|
|
@@ -4141,13 +4226,13 @@ export enum Error {
|
|
|
4141
4226
|
*
|
|
4142
4227
|
* @generated from enum nord.Error
|
|
4143
4228
|
*/
|
|
4144
|
-
export type ErrorJson = "DUPLICATE" | "DECODE_FAILURE" | "INVALID_SIGNATURE" | "MARKET_NOT_FOUND" | "TOKEN_NOT_FOUND" | "USER_NOT_FOUND" | "SESSION_NOT_FOUND" | "ORDER_NOT_FOUND" | "ORDER_SIZE_ZERO" | "ARITHMETIC_OVERFLOW" | "INVALID_ORDER_OWNER" | "KEY_ALREADY_REGISTERED" | "EXPIRY_TIMESTAMP_IN_PAST" | "UPDATE_TIMESTAMP_IN_PAST" | "TOO_MANY_OPEN_ORDERS" | "WITHDRAW_AMOUNT_TOO_SMALL" | "PYTH_FEED_NOT_ADDED" | "PYTH_FEED_MISSING" | "PYTH_FEED_ALREADY_ADDED" | "PYTH_GUARDIAN_SET_UNINITIALIZED" | "PYTH_GUARDIAN_SET_INVALID" | "PYTH_FEED_DECIMALS_OUT_OF_RANGE" | "PYTH_FEED_PRICE_OUT_OF_RANGE" | "PYTH_FEED_VARIANCE_OUT_OF_RANGE" | "PYTH_GUARDIAN_SET_AND_PYTH_SIGNATURE_DO_NOT_MATCH" | "INVALID_TOKEN_PARAMETERS" | "INDEX_PRICE_OUT_OF_RANGE" | "INDEX_DECIMALS_OUT_OF_RANGE" | "INVALID_STATE_VERSION" | "INVALID_MARGINS" | "MARKET_DECIMALS_EXCEED_LIMITS" | "TOO_MANY_TOKENS" | "FUNDING_OVERFLOW" | "CAN_REDUCE_POSITION_ONLY_IF_ALL_ORDERS_ARE_CANCELED" | "UNEXPECTED_TOKEN_ID" | "TOKEN_NOT_READY" | "TOKEN_ALREADY_REGISTERED" | "IMMEDIATE_ORDER_GOT_NO_FILLS" | "FAILED_TO_FILL_LIMIT" | "POST_ONLY_MUST_NOT_FILL_ANY_OPPOSITE_ORDERS" | "INVALID" | "MAINTENANCE" | "MINIMUM_SIZE_DECIMALS" | "PARAMETERS_WILL_CREATE_NON_OPERATIONAL_MARKET" | "ONLY_IMMEDIATE_ORDERS_ALLOWED" | "TOO_MANY_USER_ACCOUNTS" | "ACCOUNT_NOT_FOUND" | "ACCOUNT_INVALID_OWNER" | "DUST_ACCOUNT" | "BALANCE" | "BALANCE_DEPOSIT_OVERFLOW" | "BALANCE_CHANGE_OVERFLOW" | "BALANCE_CHANGE_LIMIT_EXCEEDED" | "BALANCE_INSUFFICIENT" | "UNAUTHENTICATED_L1_ACTION" | "ENCODED_ACTION_TOO_LARGE" | "TRIGGER" | "TRIGGER_INVALID_PRICE" | "TRIGGER_NOT_FOUND" | "TIMESTAMP" | "TIMESTAMP_OUT_OF_THRESHOLD" | "TIMESTAMP_STALE" | "BANKRUPTCY_INSUFFICIENT_COVERAGE" | "BANKRUPTCY_NOT_FOUND" | "BANKRUPTCY_NOT_ALLOWED" | "MARKET_NOT_READY" | "MARKET_FROZEN" | "POSITION" | "POSITION_NOT_FOUND" | "POSITION_STATE_ORDER" | "POSITION_STATE_ORDER_PRICE" | "POSITION_STATE_ORDER_SIZE" | "POSITION_STATE_ORDER_SIDE" | "POSITION_SIZE_LIMIT" | "PRICE" | "SIGNATURE_VERIFICATION" | "SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY" | "SIGNATURE_VERIFICATION_INVALID_LENGTH" | "RISK" | "RISK_DELEGATION_MF_TO_BE_LESS_THAN_OR_EQUAL_MMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_IMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_TRADE_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_UNHEALTHY_MF_AND_PON_AFTER_BETTER_OF_BEFORE" | "ORDER_EXECUTION" | "ORDER_EXECUTION_EMPTY" | "ORDER_EXECUTION_FILL_OR_KILL" | "ORDER_EXECUTION_MISSING_LIMITS" | "ORDER_EXECUTION_MISSING_PRICE" | "ORDER_EXECUTION_SIZE_LIMIT" | "ORDER_EXECUTION_LIMIT_PRICE" | "ORDER_REDUCE_IS_POST_ONLY" | "ORDER_EXECUTION_SELL_PRICE" | "ATOMICS_TRADES_CANNOT_FOLLOW_PLACES" | "ATOMICS_CANCELS_CANNOT_FOLLOW_TRADES_PLACES" | "ACTION_POSITION_SHOULD_BE_COVERED" | "ACTION_INVALID_NONCE" | "ACTION_PROPOSED_PRICE_MUST_BE_HIGHER" | "NOT_IMPLEMENTED" | "Dropped";
|
|
4229
|
+
export type ErrorJson = "DUPLICATE" | "DECODE_FAILURE" | "INVALID_SIGNATURE" | "MARKET_NOT_FOUND" | "TOKEN_NOT_FOUND" | "USER_NOT_FOUND" | "SESSION_NOT_FOUND" | "ORDER_NOT_FOUND" | "ORDER_SIZE_ZERO" | "ARITHMETIC_OVERFLOW" | "INVALID_ORDER_OWNER" | "KEY_ALREADY_REGISTERED" | "EXPIRY_TIMESTAMP_IN_PAST" | "UPDATE_TIMESTAMP_IN_PAST" | "TOO_MANY_OPEN_ORDERS" | "WITHDRAW_AMOUNT_TOO_SMALL" | "DECODE_FAILURE_LENGTH_PREFIX" | "DECODE_FAILURE_RAW" | "DECODE_FAILURE_DOMAIN" | "PYTH_FEED_NOT_ADDED" | "PYTH_FEED_MISSING" | "PYTH_FEED_ALREADY_ADDED" | "PYTH_GUARDIAN_SET_UNINITIALIZED" | "PYTH_GUARDIAN_SET_INVALID" | "PYTH_FEED_DECIMALS_OUT_OF_RANGE" | "PYTH_FEED_PRICE_OUT_OF_RANGE" | "PYTH_FEED_VARIANCE_OUT_OF_RANGE" | "PYTH_GUARDIAN_SET_AND_PYTH_SIGNATURE_DO_NOT_MATCH" | "INVALID_TOKEN_PARAMETERS" | "INDEX_PRICE_OUT_OF_RANGE" | "INDEX_DECIMALS_OUT_OF_RANGE" | "INVALID_STATE_VERSION" | "INVALID_MARGINS" | "MARKET_DECIMALS_EXCEED_LIMITS" | "TOO_MANY_TOKENS" | "FUNDING_OVERFLOW" | "CAN_REDUCE_POSITION_ONLY_IF_ALL_ORDERS_ARE_CANCELED" | "UNEXPECTED_TOKEN_ID" | "TOKEN_NOT_READY" | "TOKEN_ALREADY_REGISTERED" | "IMMEDIATE_ORDER_GOT_NO_FILLS" | "FAILED_TO_FILL_LIMIT" | "POST_ONLY_MUST_NOT_FILL_ANY_OPPOSITE_ORDERS" | "INVALID" | "MAINTENANCE" | "MINIMUM_SIZE_DECIMALS" | "PARAMETERS_WILL_CREATE_NON_OPERATIONAL_MARKET" | "ONLY_IMMEDIATE_ORDERS_ALLOWED" | "TOO_MANY_USER_ACCOUNTS" | "ACCOUNT_NOT_FOUND" | "ACCOUNT_INVALID_OWNER" | "DUST_ACCOUNT" | "BALANCE" | "BALANCE_DEPOSIT_OVERFLOW" | "BALANCE_CHANGE_OVERFLOW" | "BALANCE_CHANGE_LIMIT_EXCEEDED" | "BALANCE_INSUFFICIENT" | "UNAUTHENTICATED_L1_ACTION" | "ENCODED_ACTION_TOO_LARGE" | "TRIGGER" | "TRIGGER_INVALID_PRICE" | "TRIGGER_NOT_FOUND" | "TIMESTAMP" | "TIMESTAMP_OUT_OF_THRESHOLD" | "TIMESTAMP_STALE" | "BANKRUPTCY_INSUFFICIENT_COVERAGE" | "BANKRUPTCY_NOT_FOUND" | "BANKRUPTCY_NOT_ALLOWED" | "MARKET_NOT_READY" | "MARKET_FROZEN" | "MARKET_EMPTY" | "POSITION" | "POSITION_NOT_FOUND" | "POSITION_STATE_ORDER" | "POSITION_STATE_ORDER_PRICE" | "POSITION_STATE_ORDER_SIZE" | "POSITION_STATE_ORDER_SIDE" | "POSITION_SIZE_LIMIT" | "PRICE" | "SIGNATURE_VERIFICATION" | "SIGNATURE_VERIFICATION_MALFORMED_PUBLIC_KEY" | "SIGNATURE_VERIFICATION_INVALID_LENGTH" | "RISK" | "RISK_DELEGATION_MF_TO_BE_LESS_THAN_OR_EQUAL_MMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_IMF" | "RISK_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_TRADE_OMF_LESS_THAN_OR_EQUAL_CMF" | "RISK_UNHEALTHY_MF_AND_PON_AFTER_BETTER_OF_BEFORE" | "ORDER_EXECUTION" | "ORDER_EXECUTION_EMPTY" | "ORDER_EXECUTION_FILL_OR_KILL" | "ORDER_EXECUTION_MISSING_LIMITS" | "ORDER_EXECUTION_MISSING_PRICE" | "ORDER_EXECUTION_SIZE_LIMIT" | "ORDER_EXECUTION_LIMIT_PRICE" | "ORDER_REDUCE_IS_POST_ONLY" | "ORDER_EXECUTION_SELL_PRICE" | "ORDER_SIZE_EXCEEDS_POSITION_SIZE" | "ATOMICS_TRADES_CANNOT_FOLLOW_PLACES" | "ATOMICS_CANCELS_CANNOT_FOLLOW_TRADES_PLACES" | "ACTION_POSITION_SHOULD_BE_COVERED" | "ACTION_INVALID_NONCE" | "ACTION_PROPOSED_PRICE_MUST_BE_HIGHER" | "NOT_IMPLEMENTED" | "Dropped";
|
|
4145
4230
|
|
|
4146
4231
|
/**
|
|
4147
4232
|
* Describes the enum nord.Error.
|
|
4148
4233
|
*/
|
|
4149
4234
|
export const ErrorSchema: GenEnum<Error, ErrorJson> = /*@__PURE__*/
|
|
4150
|
-
enumDesc(file_nord,
|
|
4235
|
+
enumDesc(file_nord, 5);
|
|
4151
4236
|
|
|
4152
4237
|
/**
|
|
4153
4238
|
* @generated from enum nord.SpecialAccount
|
|
@@ -4168,5 +4253,5 @@ export type SpecialAccountJson = "FeeVault";
|
|
|
4168
4253
|
* Describes the enum nord.SpecialAccount.
|
|
4169
4254
|
*/
|
|
4170
4255
|
export const SpecialAccountSchema: GenEnum<SpecialAccount, SpecialAccountJson> = /*@__PURE__*/
|
|
4171
|
-
enumDesc(file_nord,
|
|
4256
|
+
enumDesc(file_nord, 6);
|
|
4172
4257
|
|
package/src/gen/openapi.ts
CHANGED
|
@@ -112,11 +112,13 @@ export interface paths {
|
|
|
112
112
|
};
|
|
113
113
|
};
|
|
114
114
|
put?: never;
|
|
115
|
-
/** @description Send an action to nord to execute. */
|
|
115
|
+
/** @description Send an action to nord to execute. This doesn't use `Protobuf<T>` since we want to length-delimit this message. `body` - (length prefix of action, action data protobuf, and signature). signature has exact length, but depend on action kind. body is exact payload used via other transports and journalled for rexecution */
|
|
116
116
|
post: {
|
|
117
117
|
parameters: {
|
|
118
118
|
query?: never;
|
|
119
|
-
header
|
|
119
|
+
header: {
|
|
120
|
+
"content-type": string;
|
|
121
|
+
};
|
|
120
122
|
path?: never;
|
|
121
123
|
cookie?: never;
|
|
122
124
|
};
|
|
@@ -135,6 +137,27 @@ export interface paths {
|
|
|
135
137
|
"application/octet-stream": unknown;
|
|
136
138
|
};
|
|
137
139
|
};
|
|
140
|
+
413: {
|
|
141
|
+
headers: {
|
|
142
|
+
[name: string]: unknown;
|
|
143
|
+
};
|
|
144
|
+
content: {
|
|
145
|
+
"application/json": components["schemas"]["PayloadTooLarge"];
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
415: {
|
|
149
|
+
headers: {
|
|
150
|
+
/**
|
|
151
|
+
* @description Expected request media type
|
|
152
|
+
* @example application/octet-stream
|
|
153
|
+
*/
|
|
154
|
+
accept: string;
|
|
155
|
+
[name: string]: unknown;
|
|
156
|
+
};
|
|
157
|
+
content: {
|
|
158
|
+
"application/json": components["schemas"]["AcceptedMediaType"];
|
|
159
|
+
};
|
|
160
|
+
};
|
|
138
161
|
};
|
|
139
162
|
};
|
|
140
163
|
delete?: never;
|
|
@@ -1893,6 +1916,13 @@ export interface components {
|
|
|
1893
1916
|
/** Format: uint16 */
|
|
1894
1917
|
weightBps: number;
|
|
1895
1918
|
};
|
|
1919
|
+
AcceptedMediaType: {
|
|
1920
|
+
expected: string;
|
|
1921
|
+
};
|
|
1922
|
+
PayloadTooLarge: {
|
|
1923
|
+
/** Format: uint */
|
|
1924
|
+
limit: number;
|
|
1925
|
+
};
|
|
1896
1926
|
ActionsQuery: {
|
|
1897
1927
|
/** Format: uint64 */
|
|
1898
1928
|
from: number;
|
|
@@ -2224,8 +2254,6 @@ export interface components {
|
|
|
2224
2254
|
HistoryTriggerInfo: {
|
|
2225
2255
|
/** Format: uint32 */
|
|
2226
2256
|
accountId: number;
|
|
2227
|
-
/** Format: uint64 */
|
|
2228
|
-
actionId: number;
|
|
2229
2257
|
/** Format: uint32 */
|
|
2230
2258
|
marketId: number;
|
|
2231
2259
|
/** Format: uint64 */
|
|
@@ -2233,21 +2261,30 @@ export interface components {
|
|
|
2233
2261
|
side: components["schemas"]["Side"];
|
|
2234
2262
|
kind: components["schemas"]["TriggerKind"];
|
|
2235
2263
|
status: components["schemas"]["TriggerStatus"];
|
|
2264
|
+
/** Format: uint64 */
|
|
2265
|
+
createdAtActionId: number;
|
|
2266
|
+
/** Format: uint64 */
|
|
2267
|
+
finalizedAtActionId?: number | null;
|
|
2236
2268
|
createdAt: string;
|
|
2237
|
-
|
|
2269
|
+
finalizedAt: string;
|
|
2238
2270
|
};
|
|
2239
2271
|
/** @enum {string} */
|
|
2240
2272
|
TriggerKind: "stopLoss" | "takeProfit";
|
|
2241
2273
|
/** @enum {string} */
|
|
2242
|
-
TriggerStatus: "
|
|
2274
|
+
TriggerStatus: "active" | "success" | "cancel" | "fail" | "remove";
|
|
2243
2275
|
TriggerInfo: {
|
|
2244
2276
|
/** Format: uint32 */
|
|
2245
2277
|
marketId: number;
|
|
2246
|
-
/** Format: uint64 */
|
|
2247
|
-
price: number;
|
|
2248
2278
|
side: components["schemas"]["Side"];
|
|
2249
2279
|
kind: components["schemas"]["TriggerKind"];
|
|
2280
|
+
triggerPrice: components["schemas"]["PositivePriceMantissa"];
|
|
2281
|
+
limitPrice?: components["schemas"]["PositivePriceMantissa"] | null;
|
|
2250
2282
|
};
|
|
2283
|
+
/**
|
|
2284
|
+
* Format: uint64
|
|
2285
|
+
* @description 63 bit integer, which is always positive
|
|
2286
|
+
*/
|
|
2287
|
+
PositivePriceMantissa: number;
|
|
2251
2288
|
OrderNotFound: null;
|
|
2252
2289
|
PageResult_for_String_and_Trade: {
|
|
2253
2290
|
/** @description Set of items for requested by query. */
|
package/src/nord/api/actions.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import Decimal from "decimal.js";
|
|
2
2
|
import * as proto from "../../gen/nord_pb";
|
|
3
|
+
import { paths } from "../../gen/openapi";
|
|
4
|
+
import createClient from "openapi-fetch";
|
|
5
|
+
|
|
3
6
|
import { create } from "@bufbuild/protobuf";
|
|
4
7
|
import {
|
|
5
8
|
FillMode,
|
|
@@ -11,7 +14,6 @@ import {
|
|
|
11
14
|
import {
|
|
12
15
|
assert,
|
|
13
16
|
BigIntValue,
|
|
14
|
-
checkedFetch,
|
|
15
17
|
checkPubKeyLength,
|
|
16
18
|
decodeLengthDelimited,
|
|
17
19
|
SESSION_TTL,
|
|
@@ -52,27 +54,30 @@ async function sendAction(
|
|
|
52
54
|
serverUrl: string,
|
|
53
55
|
makeSignedMessage: (message: Uint8Array) => Promise<Uint8Array>,
|
|
54
56
|
action: proto.Action,
|
|
55
|
-
actionErrorDesc: string,
|
|
56
57
|
): Promise<proto.Receipt> {
|
|
57
|
-
const
|
|
58
|
-
//
|
|
59
|
-
const
|
|
60
|
-
|
|
58
|
+
const body = await prepareAction(action, makeSignedMessage);
|
|
59
|
+
// NOTE: restructure and reuse client as it is in Nord.ts
|
|
60
|
+
const client = createClient<paths>({ baseUrl: serverUrl });
|
|
61
|
+
const response = await client.POST("/action", {
|
|
62
|
+
params: {
|
|
63
|
+
header: {
|
|
64
|
+
"content-type": "application/octet-stream",
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
body: body,
|
|
68
|
+
// NOTE: openapi-fetch ignores headers and types/const headers in schema, and always assume all things are JSON
|
|
69
|
+
// to handle multi type bodies, need these overrides and later adhoc parsing
|
|
70
|
+
bodySerializer: (body) => body,
|
|
71
|
+
parseAs: "stream",
|
|
72
|
+
});
|
|
73
|
+
|
|
74
|
+
if (response.error) {
|
|
61
75
|
throw new Error(
|
|
62
|
-
`
|
|
76
|
+
`Failed to ${action.kind.case}, HTTP status ${JSON.stringify(response.error)}`,
|
|
63
77
|
);
|
|
64
78
|
}
|
|
65
|
-
const body = await makeSignedMessage(encoded);
|
|
66
79
|
|
|
67
|
-
|
|
68
|
-
const response = await checkedFetch(`${serverUrl}/action`, {
|
|
69
|
-
method: "POST",
|
|
70
|
-
headers: {
|
|
71
|
-
"Content-Type": "application/json",
|
|
72
|
-
},
|
|
73
|
-
body,
|
|
74
|
-
});
|
|
75
|
-
const rawResp = new Uint8Array(await response.arrayBuffer());
|
|
80
|
+
const rawResp = new Uint8Array(await response.response.bytes());
|
|
76
81
|
|
|
77
82
|
const resp: proto.Receipt = decodeLengthDelimited(
|
|
78
83
|
rawResp,
|
|
@@ -81,13 +86,38 @@ async function sendAction(
|
|
|
81
86
|
|
|
82
87
|
if (resp.kind?.case === "err") {
|
|
83
88
|
throw new Error(
|
|
84
|
-
`Could not ${
|
|
89
|
+
`Could not execute ${action.kind.case}, reason: ${proto.Error[resp.kind.value]}`,
|
|
85
90
|
);
|
|
86
91
|
}
|
|
87
92
|
|
|
88
93
|
return resp;
|
|
89
94
|
}
|
|
90
95
|
|
|
96
|
+
// Given action and signature function, prepare the signed message to send to server as `body`.
|
|
97
|
+
// `makeSignedMessage` must include the original message and signature.
|
|
98
|
+
export async function prepareAction(
|
|
99
|
+
action: proto.Action,
|
|
100
|
+
makeSignedMessage: (message: Uint8Array) => Promise<Uint8Array>,
|
|
101
|
+
) {
|
|
102
|
+
const encoded = sizeDelimitedEncode(proto.ActionSchema, action);
|
|
103
|
+
// NOTE(agent): keep in sync with MAX_ENCODED_ACTION_SIZE in Rust code
|
|
104
|
+
const MAX_ENCODED_ACTION_SIZE = 1024;
|
|
105
|
+
if (encoded.byteLength > MAX_ENCODED_ACTION_SIZE) {
|
|
106
|
+
console.warn("Encoded message:", encoded);
|
|
107
|
+
throw new Error(
|
|
108
|
+
`Encoded message size (${encoded.byteLength} bytes) is greater than max payload size (${MAX_ENCODED_ACTION_SIZE} bytes).`,
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
const body = await makeSignedMessage(encoded);
|
|
112
|
+
if (body.byteLength > MAX_ENCODED_ACTION_SIZE) {
|
|
113
|
+
console.warn("Encoded length:", encoded.byteLength);
|
|
114
|
+
throw new Error(
|
|
115
|
+
`Signed message size (${body.byteLength} bytes) is greater than max payload size (${MAX_ENCODED_ACTION_SIZE} bytes).`,
|
|
116
|
+
);
|
|
117
|
+
}
|
|
118
|
+
return body;
|
|
119
|
+
}
|
|
120
|
+
|
|
91
121
|
export async function createSession(
|
|
92
122
|
serverUrl: string,
|
|
93
123
|
walletSignFn: (message: string | Uint8Array) => Promise<Uint8Array>,
|
|
@@ -128,7 +158,6 @@ export async function createSession(
|
|
|
128
158
|
serverUrl,
|
|
129
159
|
(m) => walletSign(walletSignFn, m),
|
|
130
160
|
action,
|
|
131
|
-
"create a new session",
|
|
132
161
|
);
|
|
133
162
|
|
|
134
163
|
if (resp.kind?.case === "createSessionResult") {
|
|
@@ -161,7 +190,6 @@ export async function revokeSession(
|
|
|
161
190
|
serverUrl,
|
|
162
191
|
(m) => walletSign(walletSignFn, m),
|
|
163
192
|
action,
|
|
164
|
-
"revoke session",
|
|
165
193
|
);
|
|
166
194
|
|
|
167
195
|
return { actionId: resp.actionId };
|
|
@@ -198,7 +226,6 @@ export async function withdraw(
|
|
|
198
226
|
serverUrl,
|
|
199
227
|
(m) => sessionSign(signFn, m),
|
|
200
228
|
action,
|
|
201
|
-
"withdraw",
|
|
202
229
|
);
|
|
203
230
|
|
|
204
231
|
if (resp.kind?.case === "withdrawResult") {
|
|
@@ -241,6 +268,11 @@ export async function placeOrder(
|
|
|
241
268
|
? params.quoteSize.toScaledU64(params.priceDecimals, params.sizeDecimals)
|
|
242
269
|
: undefined;
|
|
243
270
|
|
|
271
|
+
assert(
|
|
272
|
+
price > 0n || size > 0n || scaledQuote !== undefined,
|
|
273
|
+
"OrderLimit must include at least one of: size, price, or quoteSize",
|
|
274
|
+
);
|
|
275
|
+
|
|
244
276
|
const action = createAction(currentTimestamp, nonce, {
|
|
245
277
|
case: "placeOrder",
|
|
246
278
|
value: create(proto.Action_PlaceOrderSchema, {
|
|
@@ -271,7 +303,6 @@ export async function placeOrder(
|
|
|
271
303
|
serverUrl,
|
|
272
304
|
(m) => sessionSign(signFn, m),
|
|
273
305
|
action,
|
|
274
|
-
"place order",
|
|
275
306
|
);
|
|
276
307
|
|
|
277
308
|
if (resp.kind?.case === "placeOrderResult") {
|
|
@@ -315,7 +346,6 @@ export async function cancelOrder(
|
|
|
315
346
|
serverUrl,
|
|
316
347
|
(m) => sessionSign(signFn, m),
|
|
317
348
|
action,
|
|
318
|
-
"cancel order",
|
|
319
349
|
);
|
|
320
350
|
|
|
321
351
|
if (resp.kind?.case === "cancelOrderResult") {
|
|
@@ -365,7 +395,6 @@ export async function transfer(
|
|
|
365
395
|
serverUrl,
|
|
366
396
|
(m) => sessionSign(signFn, m),
|
|
367
397
|
action,
|
|
368
|
-
"transfer",
|
|
369
398
|
);
|
|
370
399
|
|
|
371
400
|
if (resp.kind?.case === "transferred") {
|
|
@@ -431,6 +460,12 @@ export async function atomic(
|
|
|
431
460
|
? a.quoteSize.toScaledU64(a.priceDecimals, a.sizeDecimals)
|
|
432
461
|
: undefined;
|
|
433
462
|
|
|
463
|
+
// Require at least one limit to be set (non-zero size, non-zero price, or quoteSize)
|
|
464
|
+
assert(
|
|
465
|
+
price > 0n || size > 0n || scaledQuote !== undefined,
|
|
466
|
+
"OrderLimit must include at least one of: size, price, or quoteSize",
|
|
467
|
+
);
|
|
468
|
+
|
|
434
469
|
const tradeOrPlace: proto.TradeOrPlace = create(
|
|
435
470
|
proto.TradeOrPlaceSchema,
|
|
436
471
|
{
|
|
@@ -480,7 +515,6 @@ export async function atomic(
|
|
|
480
515
|
serverUrl,
|
|
481
516
|
(m) => sessionSign(signFn, m),
|
|
482
517
|
action,
|
|
483
|
-
"execute atomic action",
|
|
484
518
|
);
|
|
485
519
|
if (resp.kind?.case === "atomic") {
|
|
486
520
|
return {
|