@t-0/provider-sdk 1.1.13 → 1.1.14
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/lib/cjs/common/gen/buf/validate/validate_pb.d.ts +8 -8
- package/lib/cjs/common/gen/ivms101/v1/ivms/ivms101_pb.d.ts +5 -5
- package/lib/cjs/common/gen/tzero/v1/common/common_pb.js +1 -1
- package/lib/cjs/common/gen/tzero/v1/common/payment_method_pb.d.ts +589 -10
- package/lib/cjs/common/gen/tzero/v1/common/payment_method_pb.js +307 -3
- package/lib/cjs/common/gen/tzero/v1/common/payment_receipt_pb.d.ts +3 -3
- package/lib/cjs/common/gen/tzero/v1/common/payment_receipt_pb.js +1 -1
- package/lib/cjs/common/gen/tzero/v1/payment/network_pb.d.ts +52 -38
- package/lib/cjs/common/gen/tzero/v1/payment/network_pb.js +19 -5
- package/lib/cjs/common/gen/tzero/v1/payment/provider_pb.d.ts +37 -23
- package/lib/cjs/common/gen/tzero/v1/payment/provider_pb.js +16 -2
- package/lib/cjs/common/gen/tzero/v1/payment_intent/beneficiary_pb.d.ts +15 -6
- package/lib/cjs/common/gen/tzero/v1/payment_intent/beneficiary_pb.js +2 -2
- package/lib/cjs/common/gen/tzero/v1/payment_intent/network_pb.d.ts +51 -13
- package/lib/cjs/common/gen/tzero/v1/payment_intent/network_pb.js +10 -2
- package/lib/cjs/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.d.ts +4 -4
- package/lib/cjs/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.js +1 -1
- package/lib/cjs/common/gen/tzero/v1/payment_intent/provider/provider_pb.d.ts +2 -2
- package/lib/cjs/common/gen/tzero/v1/payment_intent/provider/provider_pb.js +1 -1
- package/lib/cjs/common/gen/tzero/v1/payment_intent/recipient/recipient_pb.d.ts +7 -7
- package/lib/cjs/common/gen/tzero/v1/payment_intent/recipient/recipient_pb.js +1 -1
- package/lib/cjs/index.d.ts +4 -0
- package/lib/cjs/index.js +5 -1
- package/lib/cjs/service/service.js +2 -1
- package/lib/cjs/service/validate_response.d.ts +13 -0
- package/lib/cjs/service/validate_response.js +38 -0
- package/lib/esm/common/gen/buf/validate/validate_pb.d.ts +8 -8
- package/lib/esm/common/gen/ivms101/v1/ivms/ivms101_pb.d.ts +5 -5
- package/lib/esm/common/gen/tzero/v1/common/common_pb.js +1 -1
- package/lib/esm/common/gen/tzero/v1/common/payment_method_pb.d.ts +589 -10
- package/lib/esm/common/gen/tzero/v1/common/payment_method_pb.js +305 -2
- package/lib/esm/common/gen/tzero/v1/common/payment_receipt_pb.d.ts +3 -3
- package/lib/esm/common/gen/tzero/v1/common/payment_receipt_pb.js +1 -1
- package/lib/esm/common/gen/tzero/v1/payment/network_pb.d.ts +52 -38
- package/lib/esm/common/gen/tzero/v1/payment/network_pb.js +19 -5
- package/lib/esm/common/gen/tzero/v1/payment/provider_pb.d.ts +37 -23
- package/lib/esm/common/gen/tzero/v1/payment/provider_pb.js +16 -2
- package/lib/esm/common/gen/tzero/v1/payment_intent/beneficiary_pb.d.ts +15 -6
- package/lib/esm/common/gen/tzero/v1/payment_intent/beneficiary_pb.js +2 -2
- package/lib/esm/common/gen/tzero/v1/payment_intent/network_pb.d.ts +51 -13
- package/lib/esm/common/gen/tzero/v1/payment_intent/network_pb.js +10 -2
- package/lib/esm/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.d.ts +4 -4
- package/lib/esm/common/gen/tzero/v1/payment_intent/pay_in_provider_pb.js +1 -1
- package/lib/esm/common/gen/tzero/v1/payment_intent/provider/provider_pb.d.ts +2 -2
- package/lib/esm/common/gen/tzero/v1/payment_intent/provider/provider_pb.js +1 -1
- package/lib/esm/common/gen/tzero/v1/payment_intent/recipient/recipient_pb.d.ts +7 -7
- package/lib/esm/common/gen/tzero/v1/payment_intent/recipient/recipient_pb.js +1 -1
- package/lib/esm/index.d.ts +4 -0
- package/lib/esm/index.js +4 -0
- package/lib/esm/service/service.js +2 -1
- package/lib/esm/service/validate_response.d.ts +13 -0
- package/lib/esm/service/validate_response.js +34 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +4 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=ts,import_extension=js"
|
|
2
2
|
// @generated from file tzero/v1/payment/provider.proto (package tzero.v1.payment, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
@@ -11,7 +11,7 @@ import { file_buf_validate_validate } from "../../../buf/validate/validate_pb.js
|
|
|
11
11
|
/**
|
|
12
12
|
* Describes the file tzero/v1/payment/provider.proto.
|
|
13
13
|
*/
|
|
14
|
-
export const file_tzero_v1_payment_provider = /*@__PURE__*/ fileDesc("
|
|
14
|
+
export const file_tzero_v1_payment_provider = /*@__PURE__*/ fileDesc("Ch90emVyby92MS9wYXltZW50L3Byb3ZpZGVyLnByb3RvEhB0emVyby52MS5wYXltZW50IsAJChpBcHBlbmRMZWRnZXJFbnRyaWVzUmVxdWVzdBJYCgx0cmFuc2FjdGlvbnMYFCADKAsyOC50emVyby52MS5wYXltZW50LkFwcGVuZExlZGdlckVudHJpZXNSZXF1ZXN0LlRyYW5zYWN0aW9uQgi6SAWSAQIIARrXBAoLVHJhbnNhY3Rpb24SHwoOdHJhbnNhY3Rpb25faWQYCiABKARCB7pIBDICIAASUwoHZW50cmllcxgeIAMoCzI4LnR6ZXJvLnYxLnBheW1lbnQuQXBwZW5kTGVkZ2VyRW50cmllc1JlcXVlc3QuTGVkZ2VyRW50cnlCCLpIBZIBAggBElIKBnBheW91dBiCASABKAsyPy50emVyby52MS5wYXltZW50LkFwcGVuZExlZGdlckVudHJpZXNSZXF1ZXN0LlRyYW5zYWN0aW9uLlBheW91dEgAEmsKE3Byb3ZpZGVyX3NldHRsZW1lbnQYjAEgASgLMksudHplcm8udjEucGF5bWVudC5BcHBlbmRMZWRnZXJFbnRyaWVzUmVxdWVzdC5UcmFuc2FjdGlvbi5Qcm92aWRlclNldHRsZW1lbnRIABJhCg5mZWVfc2V0dGxlbWVudBiWASABKAsyRi50emVyby52MS5wYXltZW50LkFwcGVuZExlZGdlckVudHJpZXNSZXF1ZXN0LlRyYW5zYWN0aW9uLkZlZVNldHRsZW1lbnRIABolCgZQYXlvdXQSGwoKcGF5bWVudF9pZBgKIAEoBEIHukgEMgIgABo0ChJQcm92aWRlclNldHRsZW1lbnQSHgoNc2V0dGxlbWVudF9pZBgKIAEoBEIHukgEMgIgABozCg1GZWVTZXR0bGVtZW50EiIKEWZlZV9zZXR0bGVtZW50X2lkGAogASgEQge6SAQyAiAAQhwKE3RyYW5zYWN0aW9uX2RldGFpbHMSBbpIAggBGsoBCgtMZWRnZXJFbnRyeRIYChBhY2NvdW50X293bmVyX2lkGAogASgNEk4KDGFjY291bnRfdHlwZRgUIAEoDjI4LnR6ZXJvLnYxLnBheW1lbnQuQXBwZW5kTGVkZ2VyRW50cmllc1JlcXVlc3QuQWNjb3VudFR5cGUSJwoFZGViaXQYKCABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbBIoCgZjcmVkaXQYMiABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbCKgAgoLQWNjb3VudFR5cGUSHAoYQUNDT1VOVF9UWVBFX1VOU1BFQ0lGSUVEEAASGAoUQUNDT1VOVF9UWVBFX0JBTEFOQ0UQFBIXChNBQ0NPVU5UX1RZUEVfUEFZX0lOECgSGAoUQUNDT1VOVF9UWVBFX1BBWV9PVVQQMhIcChhBQ0NPVU5UX1RZUEVfRkVFX0VYUEVOU0UQPBIeChpBQ0NPVU5UX1RZUEVfU0VUVExFTUVOVF9JThBQEh8KG0FDQ09VTlRfVFlQRV9TRVRUTEVNRU5UX09VVBBaEiIKHkFDQ09VTlRfVFlQRV9QQVlNRU5UX0lOVEVOVF9JThBkEiMKH0FDQ09VTlRfVFlQRV9QQVlNRU5UX0lOVEVOVF9PVVQQbiIdChtBcHBlbmRMZWRnZXJFbnRyaWVzUmVzcG9uc2UijAQKDVBheW91dFJlcXVlc3QSEgoKcGF5bWVudF9pZBgKIAEoBBIVCglwYXlvdXRfaWQYFCABKARCAhgBEhAKCGN1cnJlbmN5GB4gASgJEhcKD2NsaWVudF9xdW90ZV9pZBgoIAEoCRIoCgZhbW91bnQYMiABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbBI8Cg5wYXlvdXRfZGV0YWlscxg8IAEoCzIfLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50RGV0YWlsc0gAiAEBEhoKEnBheV9pbl9wcm92aWRlcl9pZBhQIAEoDRJRChB0cmF2ZWxfcnVsZV9kYXRhGMgBIAEoCzIuLnR6ZXJvLnYxLnBheW1lbnQuUGF5b3V0UmVxdWVzdC5UcmF2ZWxSdWxlRGF0YUIGukgDyAEBGroBCg5UcmF2ZWxSdWxlRGF0YRItCgpvcmlnaW5hdG9yGAogAygLMg8uaXZtczEwMS5QZXJzb25CCLpIBZIBAggBEi4KC2JlbmVmaWNpYXJ5GBQgAygLMg8uaXZtczEwMS5QZXJzb25CCLpIBZIBAggBEjEKE29yaWdpbmF0b3JfcHJvdmlkZXIYHiABKAsyDy5pdm1zMTAxLlBlcnNvbkgAiAEBQhYKFF9vcmlnaW5hdG9yX3Byb3ZpZGVyQhEKD19wYXlvdXRfZGV0YWlscyKEBAoOUGF5b3V0UmVzcG9uc2USOgokYmVuZWZpY2lhcnlfcHJvdmlkZXJfbGVnYWxfZW50aXR5X2lkGAogASgNQge6SAQqAiAASAGIAQESPQoIYWNjZXB0ZWQYFCABKAsyKS50emVyby52MS5wYXltZW50LlBheW91dFJlc3BvbnNlLkFjY2VwdGVkSAASOQoGZmFpbGVkGB4gASgLMicudHplcm8udjEucGF5bWVudC5QYXlvdXRSZXNwb25zZS5GYWlsZWRIABJLChBtYW51YWxfYW1sX2NoZWNrGCggASgLMi8udHplcm8udjEucGF5bWVudC5QYXlvdXRSZXNwb25zZS5NYW51YWxBbWxDaGVja0gAGgoKCEFjY2VwdGVkGhAKDk1hbnVhbEFtbENoZWNrGpYBCgZGYWlsZWQSPgoGcmVhc29uGAogASgOMi4udHplcm8udjEucGF5bWVudC5QYXlvdXRSZXNwb25zZS5GYWlsZWQuUmVhc29uEh4KB2RldGFpbHMYFCABKAlCCLpIBXIDGIAISACIAQEiIAoGUmVhc29uEhYKElJFQVNPTl9VTlNQRUNJRklFRBAAQgoKCF9kZXRhaWxzQg8KBnJlc3VsdBIFukgCCAFCJwolX2JlbmVmaWNpYXJ5X3Byb3ZpZGVyX2xlZ2FsX2VudGl0eV9pZCKACQoUVXBkYXRlUGF5bWVudFJlcXVlc3QSEgoKcGF5bWVudF9pZBgFIAEoBBIZChFwYXltZW50X2NsaWVudF9pZBgKIAEoCRJDCghhY2NlcHRlZBgUIAEoCzIvLnR6ZXJvLnYxLnBheW1lbnQuVXBkYXRlUGF5bWVudFJlcXVlc3QuQWNjZXB0ZWRIABI/CgZmYWlsZWQYHiABKAsyLS50emVyby52MS5wYXltZW50LlVwZGF0ZVBheW1lbnRSZXF1ZXN0LkZhaWxlZEgAEkUKCWNvbmZpcm1lZBgoIAEoCzIwLnR6ZXJvLnYxLnBheW1lbnQuVXBkYXRlUGF5bWVudFJlcXVlc3QuQ29uZmlybWVkSAASUQoQbWFudWFsX2FtbF9jaGVjaxgyIAEoCzI1LnR6ZXJvLnYxLnBheW1lbnQuVXBkYXRlUGF5bWVudFJlcXVlc3QuTWFudWFsQW1sQ2hlY2tIABrmAQoIQWNjZXB0ZWQSLwoNcGF5b3V0X2Ftb3VudBgKIAEoCzIYLnR6ZXJvLnYxLmNvbW1vbi5EZWNpbWFsEmAKEHRyYXZlbF9ydWxlX2RhdGEYFCABKAsyPi50emVyby52MS5wYXltZW50LlVwZGF0ZVBheW1lbnRSZXF1ZXN0LkFjY2VwdGVkLlRyYXZlbFJ1bGVEYXRhQga6SAPIAQEaRwoOVHJhdmVsUnVsZURhdGESNQoUYmVuZWZpY2lhcnlfcHJvdmlkZXIYCiABKAsyDy5pdm1zMTAxLlBlcnNvbkIGukgDyAEBGosDCgZGYWlsZWQSRAoGcmVhc29uGAogASgOMjQudHplcm8udjEucGF5bWVudC5VcGRhdGVQYXltZW50UmVxdWVzdC5GYWlsZWQuUmVhc29uEh4KB2RldGFpbHMYFCABKAlCCLpIBXIDGIAISACIAQEijgIKBlJlYXNvbhIWChJSRUFTT05fVU5TUEVDSUZJRUQQABImCiJSRUFTT05fTk9fUVVPVEVfQUZURVJfQU1MX0FQUFJPVkFMEAESLAooUkVBU09OX1FVT1RFX1JFSkVDVEVEX0FGVEVSX0FNTF9BUFBST1ZBTBACEiAKHFJFQVNPTl9BTUxfUklTS19DSEVDS19GQUlMRUQQAxIzCi9SRUFTT05fQ1JFRElUX0xJTUlUX0VYQ0VFREVEX0FGVEVSX0FNTF9BUFBST1ZBTBAEEiIKHlJFQVNPTl9SRUpFQ1RFRF9CWV9CRU5FRklDSUFSWRAFEhsKF1JFQVNPTl9GSU5BTElaRV9GQUlMVVJFEAZCCgoIX2RldGFpbHMafwoJQ29uZmlybWVkEi8KC3BhaWRfb3V0X2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBI1CgdyZWNlaXB0GBQgASgLMh8udHplcm8udjEuY29tbW9uLlBheW1lbnRSZWNlaXB0SACIAQFCCgoIX3JlY2VpcHQaEAoOTWFudWFsQW1sQ2hlY2tCDwoGcmVzdWx0EgW6SAIIASIXChVVcGRhdGVQYXltZW50UmVzcG9uc2UivgIKElVwZGF0ZUxpbWl0UmVxdWVzdBI6CgZsaW1pdHMYCiADKAsyKi50emVyby52MS5wYXltZW50LlVwZGF0ZUxpbWl0UmVxdWVzdC5MaW1pdBrrAQoFTGltaXQSDwoHdmVyc2lvbhgKIAEoAxIWCg5jb3VudGVycGFydF9pZBgPIAEoBRIuCgxwYXlvdXRfbGltaXQYFCABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbBIuCgxjcmVkaXRfbGltaXQYHiABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbBIuCgxjcmVkaXRfdXNhZ2UYKCABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbBIpCgdyZXNlcnZlGDIgASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWwiFQoTVXBkYXRlTGltaXRSZXNwb25zZSKZAgoaQXBwcm92ZVBheW1lbnRRdW90ZVJlcXVlc3QSGwoKcGF5bWVudF9pZBgKIAEoBEIHukgEMgIgABIYChBwYXlfb3V0X3F1b3RlX2lkGBQgASgDEi4KDHBheV9vdXRfcmF0ZRgeIAEoCzIYLnR6ZXJvLnYxLmNvbW1vbi5EZWNpbWFsEjAKDnBheV9vdXRfYW1vdW50GCggASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWwSMwoRc2V0dGxlbWVudF9hbW91bnQYMiABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbBItCgtwYXlfb3V0X2ZpeBg8IAEoCzIYLnR6ZXJvLnYxLmNvbW1vbi5EZWNpbWFsIt4BChtBcHByb3ZlUGF5bWVudFF1b3RlUmVzcG9uc2USSgoIYWNjZXB0ZWQYCiABKAsyNi50emVyby52MS5wYXltZW50LkFwcHJvdmVQYXltZW50UXVvdGVSZXNwb25zZS5BY2NlcHRlZEgAEkoKCHJlamVjdGVkGBQgASgLMjYudHplcm8udjEucGF5bWVudC5BcHByb3ZlUGF5bWVudFF1b3RlUmVzcG9uc2UuUmVqZWN0ZWRIABoKCghBY2NlcHRlZBoKCghSZWplY3RlZEIPCgZyZXN1bHQSBbpIAggBMp4ECg9Qcm92aWRlclNlcnZpY2USUAoGUGF5T3V0Eh8udHplcm8udjEucGF5bWVudC5QYXlvdXRSZXF1ZXN0GiAudHplcm8udjEucGF5bWVudC5QYXlvdXRSZXNwb25zZSIDkAICEmUKDVVwZGF0ZVBheW1lbnQSJi50emVyby52MS5wYXltZW50LlVwZGF0ZVBheW1lbnRSZXF1ZXN0GicudHplcm8udjEucGF5bWVudC5VcGRhdGVQYXltZW50UmVzcG9uc2UiA5ACAhJfCgtVcGRhdGVMaW1pdBIkLnR6ZXJvLnYxLnBheW1lbnQuVXBkYXRlTGltaXRSZXF1ZXN0GiUudHplcm8udjEucGF5bWVudC5VcGRhdGVMaW1pdFJlc3BvbnNlIgOQAgISdwoTQXBwZW5kTGVkZ2VyRW50cmllcxIsLnR6ZXJvLnYxLnBheW1lbnQuQXBwZW5kTGVkZ2VyRW50cmllc1JlcXVlc3QaLS50emVyby52MS5wYXltZW50LkFwcGVuZExlZGdlckVudHJpZXNSZXNwb25zZSIDkAICEngKFEFwcHJvdmVQYXltZW50UXVvdGVzEiwudHplcm8udjEucGF5bWVudC5BcHByb3ZlUGF5bWVudFF1b3RlUmVxdWVzdBotLnR6ZXJvLnYxLnBheW1lbnQuQXBwcm92ZVBheW1lbnRRdW90ZVJlc3BvbnNlIgOQAgJC1wEKFGNvbS50emVyby52MS5wYXltZW50Qg1Qcm92aWRlclByb3RvUAFaO2dpdGh1Yi5jb20vdC0wLW5ldHdvcmsvcHJvdmlkZXItc2RrL2dvL2FwaS90emVyby92MS9wYXltZW50ogIDVFZQqgIjVDAuUHJvdmlkZXJTZGsuQXBpLlR6ZXJvLlYxLlBheW1lbnTKAhBUemVyb1xWMVxQYXltZW504gIcVHplcm9cVjFcUGF5bWVudFxHUEJNZXRhZGF0YeoCElR6ZXJvOjpWMTo6UGF5bWVudGIGcHJvdG8z", [file_tzero_v1_common_payment_method, file_tzero_v1_common_payment_receipt, file_tzero_v1_common_common, file_ivms101_v1_ivms_ivms101, file_google_protobuf_timestamp, file_buf_validate_validate]);
|
|
15
15
|
/**
|
|
16
16
|
* Describes the message tzero.v1.payment.AppendLedgerEntriesRequest.
|
|
17
17
|
* Use `create(AppendLedgerEntriesRequestSchema)` to create a new message.
|
|
@@ -160,6 +160,8 @@ export const UpdatePaymentRequest_Accepted_TravelRuleDataSchema = /*@__PURE__*/
|
|
|
160
160
|
*/
|
|
161
161
|
export const UpdatePaymentRequest_FailedSchema = /*@__PURE__*/ messageDesc(file_tzero_v1_payment_provider, 4, 1);
|
|
162
162
|
/**
|
|
163
|
+
* Additive-only. Consumers must treat unknown values as UNSPECIFIED.
|
|
164
|
+
*
|
|
163
165
|
* @generated from enum tzero.v1.payment.UpdatePaymentRequest.Failed.Reason
|
|
164
166
|
*/
|
|
165
167
|
export var UpdatePaymentRequest_Failed_Reason;
|
|
@@ -192,6 +194,18 @@ export var UpdatePaymentRequest_Failed_Reason;
|
|
|
192
194
|
* @generated from enum value: REASON_CREDIT_LIMIT_EXCEEDED_AFTER_AML_APPROVAL = 4;
|
|
193
195
|
*/
|
|
194
196
|
UpdatePaymentRequest_Failed_Reason[UpdatePaymentRequest_Failed_Reason["CREDIT_LIMIT_EXCEEDED_AFTER_AML_APPROVAL"] = 4] = "CREDIT_LIMIT_EXCEEDED_AFTER_AML_APPROVAL";
|
|
197
|
+
/**
|
|
198
|
+
* Pay-out provider rejected the initial PayOut request (no AML check involved).
|
|
199
|
+
*
|
|
200
|
+
* @generated from enum value: REASON_REJECTED_BY_BENEFICIARY = 5;
|
|
201
|
+
*/
|
|
202
|
+
UpdatePaymentRequest_Failed_Reason[UpdatePaymentRequest_Failed_Reason["REJECTED_BY_BENEFICIARY"] = 5] = "REJECTED_BY_BENEFICIARY";
|
|
203
|
+
/**
|
|
204
|
+
* Pay-out provider accepted initially, then reported failure via FinalizePayout (e.g. payment rails rejected).
|
|
205
|
+
*
|
|
206
|
+
* @generated from enum value: REASON_FINALIZE_FAILURE = 6;
|
|
207
|
+
*/
|
|
208
|
+
UpdatePaymentRequest_Failed_Reason[UpdatePaymentRequest_Failed_Reason["FINALIZE_FAILURE"] = 6] = "FINALIZE_FAILURE";
|
|
195
209
|
})(UpdatePaymentRequest_Failed_Reason || (UpdatePaymentRequest_Failed_Reason = {}));
|
|
196
210
|
/**
|
|
197
211
|
* Describes the enum tzero.v1.payment.UpdatePaymentRequest.Failed.Reason.
|
|
@@ -58,21 +58,21 @@ export type PaymentIntentUpdateRequest_FundsReceived = Message<"tzero.v1.payment
|
|
|
58
58
|
/**
|
|
59
59
|
* *
|
|
60
60
|
* The settlement amount credited to your balance.
|
|
61
|
-
* This is calculated as: source_amount / rate
|
|
61
|
+
* This is calculated as: (source_amount / rate) - fix
|
|
62
62
|
*
|
|
63
63
|
* Note: Fees are NOT deducted from this amount. Fees are tracked
|
|
64
64
|
* separately and settled in periodic fee settlements.
|
|
65
65
|
*
|
|
66
66
|
* @generated from field: tzero.v1.common.Decimal settlement_amount = 10;
|
|
67
67
|
*/
|
|
68
|
-
settlementAmount?: Decimal;
|
|
68
|
+
settlementAmount?: Decimal | undefined;
|
|
69
69
|
/**
|
|
70
70
|
* *
|
|
71
71
|
* The exchange rate used for settlement.
|
|
72
72
|
*
|
|
73
73
|
* @generated from field: tzero.v1.common.Decimal rate = 20;
|
|
74
74
|
*/
|
|
75
|
-
rate?: Decimal;
|
|
75
|
+
rate?: Decimal | undefined;
|
|
76
76
|
/**
|
|
77
77
|
* *
|
|
78
78
|
* The fiat amount received from the end-user.
|
|
@@ -80,7 +80,7 @@ export type PaymentIntentUpdateRequest_FundsReceived = Message<"tzero.v1.payment
|
|
|
80
80
|
*
|
|
81
81
|
* @generated from field: tzero.v1.common.Decimal payment_amount = 30;
|
|
82
82
|
*/
|
|
83
|
-
paymentAmount?: Decimal;
|
|
83
|
+
paymentAmount?: Decimal | undefined;
|
|
84
84
|
/**
|
|
85
85
|
*
|
|
86
86
|
* The payment method used for the pay-in
|
|
@@ -102,7 +102,16 @@ export type PaymentIntentUpdateRequest_FundsReceived = Message<"tzero.v1.payment
|
|
|
102
102
|
*
|
|
103
103
|
* @generated from field: tzero.v1.payment_intent.PaymentIntentUpdateRequest.FundsReceived.TravelRuleData travel_rule_data = 60;
|
|
104
104
|
*/
|
|
105
|
-
travelRuleData?: PaymentIntentUpdateRequest_FundsReceived_TravelRuleData;
|
|
105
|
+
travelRuleData?: PaymentIntentUpdateRequest_FundsReceived_TravelRuleData | undefined;
|
|
106
|
+
/**
|
|
107
|
+
* *
|
|
108
|
+
* Flat USD surcharge retained by the pay-in provider per transfer.
|
|
109
|
+
* Already subtracted from settlement_amount. Surface to beneficiaries that
|
|
110
|
+
* need to audit the settlement math: settlement = (payment_amount / rate) - fix.
|
|
111
|
+
*
|
|
112
|
+
* @generated from field: tzero.v1.common.Decimal fix = 70;
|
|
113
|
+
*/
|
|
114
|
+
fix?: Decimal | undefined;
|
|
106
115
|
};
|
|
107
116
|
/**
|
|
108
117
|
* Describes the message tzero.v1.payment_intent.PaymentIntentUpdateRequest.FundsReceived.
|
|
@@ -119,7 +128,7 @@ export type PaymentIntentUpdateRequest_FundsReceived_TravelRuleData = Message<"t
|
|
|
119
128
|
*
|
|
120
129
|
* @generated from field: ivms101.LegalPerson originator_provider = 30;
|
|
121
130
|
*/
|
|
122
|
-
originatorProvider?: LegalPerson;
|
|
131
|
+
originatorProvider?: LegalPerson | undefined;
|
|
123
132
|
};
|
|
124
133
|
/**
|
|
125
134
|
* Describes the message tzero.v1.payment_intent.PaymentIntentUpdateRequest.FundsReceived.TravelRuleData.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=ts,import_extension=js"
|
|
2
2
|
// @generated from file tzero/v1/payment_intent/beneficiary.proto (package tzero.v1.payment_intent, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
@@ -9,7 +9,7 @@ import { file_ivms101_v1_ivms_ivms101 } from "../../../ivms101/v1/ivms/ivms101_p
|
|
|
9
9
|
/**
|
|
10
10
|
* Describes the file tzero/v1/payment_intent/beneficiary.proto.
|
|
11
11
|
*/
|
|
12
|
-
export const file_tzero_v1_payment_intent_beneficiary = /*@__PURE__*/ fileDesc("
|
|
12
|
+
export const file_tzero_v1_payment_intent_beneficiary = /*@__PURE__*/ fileDesc("Cil0emVyby92MS9wYXltZW50X2ludGVudC9iZW5lZmljaWFyeS5wcm90bxIXdHplcm8udjEucGF5bWVudF9pbnRlbnQiyAUKGlBheW1lbnRJbnRlbnRVcGRhdGVSZXF1ZXN0EiIKEXBheW1lbnRfaW50ZW50X2lkGAogASgEQge6SAQyAiAAElsKDmZ1bmRzX3JlY2VpdmVkGBQgASgLMkEudHplcm8udjEucGF5bWVudF9pbnRlbnQuUGF5bWVudEludGVudFVwZGF0ZVJlcXVlc3QuRnVuZHNSZWNlaXZlZEgAGpcECg1GdW5kc1JlY2VpdmVkEjMKEXNldHRsZW1lbnRfYW1vdW50GAogASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWwSJgoEcmF0ZRgUIAEoCzIYLnR6ZXJvLnYxLmNvbW1vbi5EZWNpbWFsEjAKDnBheW1lbnRfYW1vdW50GB4gASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWwSOgoOcGF5bWVudF9tZXRob2QYKCABKA4yIi50emVyby52MS5jb21tb24uUGF5bWVudE1ldGhvZFR5cGUSHQoVdHJhbnNhY3Rpb25fcmVmZXJlbmNlGDIgASgJEnIKEHRyYXZlbF9ydWxlX2RhdGEYPCABKAsyUC50emVyby52MS5wYXltZW50X2ludGVudC5QYXltZW50SW50ZW50VXBkYXRlUmVxdWVzdC5GdW5kc1JlY2VpdmVkLlRyYXZlbFJ1bGVEYXRhQga6SAPIAQESWwoDZml4GEYgASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWxCNLpIMboBLhIYZml4IG11c3QgYmUgbm9uLW5lZ2F0aXZlGhJ0aGlzLnVuc2NhbGVkID49IDAaSwoOVHJhdmVsUnVsZURhdGESOQoTb3JpZ2luYXRvcl9wcm92aWRlchgeIAEoCzIULml2bXMxMDEuTGVnYWxQZXJzb25CBrpIA8gBAUIPCgZ1cGRhdGUSBbpIAggBIh0KG1BheW1lbnRJbnRlbnRVcGRhdGVSZXNwb25zZTKcAQoSQmVuZWZpY2lhcnlTZXJ2aWNlEoUBChNQYXltZW50SW50ZW50VXBkYXRlEjMudHplcm8udjEucGF5bWVudF9pbnRlbnQuUGF5bWVudEludGVudFVwZGF0ZVJlcXVlc3QaNC50emVyby52MS5wYXltZW50X2ludGVudC5QYXltZW50SW50ZW50VXBkYXRlUmVzcG9uc2UiA5ACAkKAAgobY29tLnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50QhBCZW5lZmljaWFyeVByb3RvUAFaQmdpdGh1Yi5jb20vdC0wLW5ldHdvcmsvcHJvdmlkZXItc2RrL2dvL2FwaS90emVyby92MS9wYXltZW50X2ludGVudKICA1RWUKoCKVQwLlByb3ZpZGVyU2RrLkFwaS5UemVyby5WMS5QYXltZW50SW50ZW50ygIWVHplcm9cVjFcUGF5bWVudEludGVudOICIlR6ZXJvXFYxXFBheW1lbnRJbnRlbnRcR1BCTWV0YWRhdGHqAhhUemVybzo6VjE6OlBheW1lbnRJbnRlbnRiBnByb3RvMw", [file_tzero_v1_common_common, file_tzero_v1_common_payment_method, file_buf_validate_validate, file_ivms101_v1_ivms_ivms101]);
|
|
13
13
|
/**
|
|
14
14
|
* Describes the message tzero.v1.payment_intent.PaymentIntentUpdateRequest.
|
|
15
15
|
* Use `create(PaymentIntentUpdateRequestSchema)` to create a new message.
|
|
@@ -56,13 +56,13 @@ export type UpdateQuoteRequest_Quote = Message<"tzero.v1.payment_intent.UpdateQu
|
|
|
56
56
|
*
|
|
57
57
|
* @generated from field: google.protobuf.Timestamp expiration = 60;
|
|
58
58
|
*/
|
|
59
|
-
expiration?: Timestamp;
|
|
59
|
+
expiration?: Timestamp | undefined;
|
|
60
60
|
/**
|
|
61
61
|
* timestamp quote was created
|
|
62
62
|
*
|
|
63
63
|
* @generated from field: google.protobuf.Timestamp timestamp = 70;
|
|
64
64
|
*/
|
|
65
|
-
timestamp?: Timestamp;
|
|
65
|
+
timestamp?: Timestamp | undefined;
|
|
66
66
|
};
|
|
67
67
|
/**
|
|
68
68
|
* Describes the message tzero.v1.payment_intent.UpdateQuoteRequest.Quote.
|
|
@@ -84,13 +84,24 @@ export type UpdateQuoteRequest_Quote_Band = Message<"tzero.v1.payment_intent.Upd
|
|
|
84
84
|
*
|
|
85
85
|
* @generated from field: tzero.v1.common.Decimal max_amount = 40;
|
|
86
86
|
*/
|
|
87
|
-
maxAmount?: Decimal;
|
|
87
|
+
maxAmount?: Decimal | undefined;
|
|
88
88
|
/**
|
|
89
89
|
* USD/currency rate
|
|
90
90
|
*
|
|
91
91
|
* @generated from field: tzero.v1.common.Decimal rate = 50;
|
|
92
92
|
*/
|
|
93
|
-
rate?: Decimal;
|
|
93
|
+
rate?: Decimal | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* *
|
|
96
|
+
* Fixed charge in USD retained by the pay-in provider per transfer.
|
|
97
|
+
* Covers flat operational costs that do not scale with amount
|
|
98
|
+
* (wire fees, rail fees, compliance checks).
|
|
99
|
+
* Subtracted from the settlement amount: settlement = (amount / rate) - fix.
|
|
100
|
+
* Defaults to 0 when absent — no fixed charge applied.
|
|
101
|
+
*
|
|
102
|
+
* @generated from field: optional tzero.v1.common.Decimal fix = 60;
|
|
103
|
+
*/
|
|
104
|
+
fix?: Decimal | undefined;
|
|
94
105
|
};
|
|
95
106
|
/**
|
|
96
107
|
* Describes the message tzero.v1.payment_intent.UpdateQuoteRequest.Quote.Band.
|
|
@@ -128,7 +139,7 @@ export type GetQuoteRequest = Message<"tzero.v1.payment_intent.GetQuoteRequest">
|
|
|
128
139
|
*
|
|
129
140
|
* @generated from field: tzero.v1.common.Decimal amount = 30;
|
|
130
141
|
*/
|
|
131
|
-
amount?: Decimal;
|
|
142
|
+
amount?: Decimal | undefined;
|
|
132
143
|
/**
|
|
133
144
|
* *
|
|
134
145
|
* Optional list of pay-in provider IDs to filter by.
|
|
@@ -233,7 +244,16 @@ export type GetQuoteResponse_Success_IndicativeQuote = Message<"tzero.v1.payment
|
|
|
233
244
|
*
|
|
234
245
|
* @generated from field: tzero.v1.common.Decimal indicative_rate = 30;
|
|
235
246
|
*/
|
|
236
|
-
indicativeRate?: Decimal;
|
|
247
|
+
indicativeRate?: Decimal | undefined;
|
|
248
|
+
/**
|
|
249
|
+
* *
|
|
250
|
+
* Indicative fixed charge in USD retained by the pay-in provider per transfer.
|
|
251
|
+
* Settlement is calculated as (amount / indicative_rate) - indicative_fix.
|
|
252
|
+
* Indicative only: the actual fix is locked in at ConfirmFundsReceived time.
|
|
253
|
+
*
|
|
254
|
+
* @generated from field: tzero.v1.common.Decimal indicative_fix = 40;
|
|
255
|
+
*/
|
|
256
|
+
indicativeFix?: Decimal | undefined;
|
|
237
257
|
};
|
|
238
258
|
/**
|
|
239
259
|
* Describes the message tzero.v1.payment_intent.GetQuoteResponse.Success.IndicativeQuote.
|
|
@@ -284,7 +304,7 @@ export type PaymentIntentPayInDetails = Message<"tzero.v1.payment_intent.Payment
|
|
|
284
304
|
*
|
|
285
305
|
* @generated from field: tzero.v1.common.PaymentDetails payment_details = 30;
|
|
286
306
|
*/
|
|
287
|
-
paymentDetails?: PaymentDetails;
|
|
307
|
+
paymentDetails?: PaymentDetails | undefined;
|
|
288
308
|
/**
|
|
289
309
|
* *
|
|
290
310
|
* Indicative exchange rate USD/XXX (base currency is always USD).
|
|
@@ -293,7 +313,17 @@ export type PaymentIntentPayInDetails = Message<"tzero.v1.payment_intent.Payment
|
|
|
293
313
|
*
|
|
294
314
|
* @generated from field: tzero.v1.common.Decimal indicative_rate = 40;
|
|
295
315
|
*/
|
|
296
|
-
indicativeRate?: Decimal;
|
|
316
|
+
indicativeRate?: Decimal | undefined;
|
|
317
|
+
/**
|
|
318
|
+
* *
|
|
319
|
+
* Indicative fixed charge in USD retained by the pay-in provider per transfer.
|
|
320
|
+
* Settlement is calculated as (amount / indicative_rate) - indicative_fix.
|
|
321
|
+
*
|
|
322
|
+
* Note: This is indicative only. The actual fix is locked in at ConfirmFundsReceived time.
|
|
323
|
+
*
|
|
324
|
+
* @generated from field: tzero.v1.common.Decimal indicative_fix = 50;
|
|
325
|
+
*/
|
|
326
|
+
indicativeFix?: Decimal | undefined;
|
|
297
327
|
};
|
|
298
328
|
/**
|
|
299
329
|
* Describes the message tzero.v1.payment_intent.PaymentIntentPayInDetails.
|
|
@@ -332,7 +362,7 @@ export type CreatePaymentIntentRequest = Message<"tzero.v1.payment_intent.Create
|
|
|
332
362
|
*
|
|
333
363
|
* @generated from field: tzero.v1.common.Decimal amount = 30;
|
|
334
364
|
*/
|
|
335
|
-
amount?: Decimal;
|
|
365
|
+
amount?: Decimal | undefined;
|
|
336
366
|
/**
|
|
337
367
|
* *
|
|
338
368
|
* Travel rule compliance data.
|
|
@@ -340,7 +370,7 @@ export type CreatePaymentIntentRequest = Message<"tzero.v1.payment_intent.Create
|
|
|
340
370
|
*
|
|
341
371
|
* @generated from field: tzero.v1.payment_intent.CreatePaymentIntentRequest.TravelRuleData travel_rule_data = 40;
|
|
342
372
|
*/
|
|
343
|
-
travelRuleData?: CreatePaymentIntentRequest_TravelRuleData;
|
|
373
|
+
travelRuleData?: CreatePaymentIntentRequest_TravelRuleData | undefined;
|
|
344
374
|
/**
|
|
345
375
|
* *
|
|
346
376
|
* Optional list of pay-in provider IDs to consider.
|
|
@@ -377,7 +407,7 @@ export type CreatePaymentIntentRequest_TravelRuleData = Message<"tzero.v1.paymen
|
|
|
377
407
|
*
|
|
378
408
|
* @generated from field: optional ivms101.Person payer = 40;
|
|
379
409
|
*/
|
|
380
|
-
payer?: Person;
|
|
410
|
+
payer?: Person | undefined;
|
|
381
411
|
};
|
|
382
412
|
/**
|
|
383
413
|
* Describes the message tzero.v1.payment_intent.CreatePaymentIntentRequest.TravelRuleData.
|
|
@@ -543,7 +573,7 @@ export type ConfirmFundsReceivedRequest = Message<"tzero.v1.payment_intent.Confi
|
|
|
543
573
|
*
|
|
544
574
|
* @generated from field: optional uint32 originator_provider_legal_entity_id = 50;
|
|
545
575
|
*/
|
|
546
|
-
originatorProviderLegalEntityId?: number;
|
|
576
|
+
originatorProviderLegalEntityId?: number | undefined;
|
|
547
577
|
};
|
|
548
578
|
/**
|
|
549
579
|
* Describes the message tzero.v1.payment_intent.ConfirmFundsReceivedRequest.
|
|
@@ -635,7 +665,15 @@ export declare enum ConfirmFundsReceivedResponse_Reject_Reason {
|
|
|
635
665
|
/**
|
|
636
666
|
* @generated from enum value: REJECT_REASON_PROVIDER_NOT_ALLOWED = 30;
|
|
637
667
|
*/
|
|
638
|
-
REJECT_REASON_PROVIDER_NOT_ALLOWED = 30
|
|
668
|
+
REJECT_REASON_PROVIDER_NOT_ALLOWED = 30,
|
|
669
|
+
/**
|
|
670
|
+
* *
|
|
671
|
+
* The pay-in amount would yield a zero or negative beneficiary
|
|
672
|
+
* settlement (pay_in / rate − fix) at every active quote.
|
|
673
|
+
*
|
|
674
|
+
* @generated from enum value: REJECT_REASON_AMOUNT_TOO_SMALL = 40;
|
|
675
|
+
*/
|
|
676
|
+
REJECT_REASON_AMOUNT_TOO_SMALL = 40
|
|
639
677
|
}
|
|
640
678
|
/**
|
|
641
679
|
* Describes the enum tzero.v1.payment_intent.ConfirmFundsReceivedResponse.Reject.Reason.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=ts,import_extension=js"
|
|
2
2
|
// @generated from file tzero/v1/payment_intent/network.proto (package tzero.v1.payment_intent, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
@@ -10,7 +10,7 @@ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
|
|
10
10
|
/**
|
|
11
11
|
* Describes the file tzero/v1/payment_intent/network.proto.
|
|
12
12
|
*/
|
|
13
|
-
export const file_tzero_v1_payment_intent_network = /*@__PURE__*/ fileDesc("
|
|
13
|
+
export const file_tzero_v1_payment_intent_network = /*@__PURE__*/ fileDesc("CiV0emVyby92MS9wYXltZW50X2ludGVudC9uZXR3b3JrLnByb3RvEhd0emVyby52MS5wYXltZW50X2ludGVudCKbBQoSVXBkYXRlUXVvdGVSZXF1ZXN0ElAKFXBheW1lbnRfaW50ZW50X3F1b3RlcxgKIAMoCzIxLnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LlVwZGF0ZVF1b3RlUmVxdWVzdC5RdW90ZRqyBAoFUXVvdGUSJgoIY3VycmVuY3kYCiABKAlCFLpIEXIPMgpeW0EtWl17M30kmAEDEkIKDnBheW1lbnRfbWV0aG9kGBkgASgOMiIudHplcm8udjEuY29tbW9uLlBheW1lbnRNZXRob2RUeXBlQga6SAPIAQESTwoFYmFuZHMYHiADKAsyNi50emVyby52MS5wYXltZW50X2ludGVudC5VcGRhdGVRdW90ZVJlcXVlc3QuUXVvdGUuQmFuZEIIukgFkgECCAESOAoKZXhwaXJhdGlvbhg8IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCCLpIBbIBAkABEjUKCXRpbWVzdGFtcBhGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCBrpIA8gBARr6AQoEQmFuZBIiCg9jbGllbnRfcXVvdGVfaWQYCiABKAlCCbpIBnIEEAEYQBI0CgptYXhfYW1vdW50GCggASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWxCBrpIA8gBARIuCgRyYXRlGDIgASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWxCBrpIA8gBARJgCgNmaXgYPCABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbEI0ukgxugEuEhhmaXggbXVzdCBiZSBub24tbmVnYXRpdmUaEnRoaXMudW5zY2FsZWQgPj0gMEgAiAEBQgYKBF9maXgiFQoTVXBkYXRlUXVvdGVSZXNwb25zZSKIAQoPR2V0UXVvdGVSZXF1ZXN0EiYKCGN1cnJlbmN5GBQgASgJQhS6SBFyDzIKXltBLVpdezN9JJgBAxIwCgZhbW91bnQYHiABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbEIGukgDyAEBEhsKE3BheV9pbl9wcm92aWRlcl9pZHMYKCADKA0ilAUKEEdldFF1b3RlUmVzcG9uc2USRAoHc3VjY2VzcxgKIAEoCzIxLnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LkdldFF1b3RlUmVzcG9uc2UuU3VjY2Vzc0gAElIKD3F1b3RlX25vdF9mb3VuZBgUIAEoCzI3LnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LkdldFF1b3RlUmVzcG9uc2UuUXVvdGVOb3RGb3VuZEgAGsMDCgdTdWNjZXNzElYKC2Jlc3RfcXVvdGVzGAogAygLMkEudHplcm8udjEucGF5bWVudF9pbnRlbnQuR2V0UXVvdGVSZXNwb25zZS5TdWNjZXNzLkluZGljYXRpdmVRdW90ZRJVCgphbGxfcXVvdGVzGBQgAygLMkEudHplcm8udjEucGF5bWVudF9pbnRlbnQuR2V0UXVvdGVSZXNwb25zZS5TdWNjZXNzLkluZGljYXRpdmVRdW90ZRqIAgoPSW5kaWNhdGl2ZVF1b3RlEjoKDnBheW1lbnRfbWV0aG9kGAogASgOMiIudHplcm8udjEuY29tbW9uLlBheW1lbnRNZXRob2RUeXBlEhMKC3Byb3ZpZGVyX2lkGBQgASgNEjEKD2luZGljYXRpdmVfcmF0ZRgeIAEoCzIYLnR6ZXJvLnYxLmNvbW1vbi5EZWNpbWFsEnEKDmluZGljYXRpdmVfZml4GCggASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWxCP7pIPLoBORIjaW5kaWNhdGl2ZV9maXggbXVzdCBiZSBub24tbmVnYXRpdmUaEnRoaXMudW5zY2FsZWQgPj0gMBoPCg1RdW90ZU5vdEZvdW5kQg8KBnJlc3VsdBIFukgCCAEizAIKGVBheW1lbnRJbnRlbnRQYXlJbkRldGFpbHMSOgoOcGF5bWVudF9tZXRob2QYCiABKA4yIi50emVyby52MS5jb21tb24uUGF5bWVudE1ldGhvZFR5cGUSEwoLcHJvdmlkZXJfaWQYFCABKA0SOAoPcGF5bWVudF9kZXRhaWxzGB4gASgLMh8udHplcm8udjEuY29tbW9uLlBheW1lbnREZXRhaWxzEjEKD2luZGljYXRpdmVfcmF0ZRgoIAEoCzIYLnR6ZXJvLnYxLmNvbW1vbi5EZWNpbWFsEnEKDmluZGljYXRpdmVfZml4GDIgASgLMhgudHplcm8udjEuY29tbW9uLkRlY2ltYWxCP7pIPLoBORIjaW5kaWNhdGl2ZV9maXggbXVzdCBiZSBub24tbmVnYXRpdmUaEnRoaXMudW5zY2FsZWQgPj0gMCKGAwoaQ3JlYXRlUGF5bWVudEludGVudFJlcXVlc3QSGgoSZXh0ZXJuYWxfcmVmZXJlbmNlGAogASgJEiYKCGN1cnJlbmN5GBQgASgJQhS6SBFyDzIKXltBLVpdezN9JJgBAxIwCgZhbW91bnQYHiABKAsyGC50emVyby52MS5jb21tb24uRGVjaW1hbEIGukgDyAEBEmQKEHRyYXZlbF9ydWxlX2RhdGEYKCABKAsyQi50emVyby52MS5wYXltZW50X2ludGVudC5DcmVhdGVQYXltZW50SW50ZW50UmVxdWVzdC5UcmF2ZWxSdWxlRGF0YUIGukgDyAEBEhsKE3BheV9pbl9wcm92aWRlcl9pZHMYMiADKA0abwoOVHJhdmVsUnVsZURhdGESLgoLYmVuZWZpY2lhcnkYCiADKAsyDy5pdm1zMTAxLlBlcnNvbkIIukgFkgECCAESIwoFcGF5ZXIYKCABKAsyDy5pdm1zMTAxLlBlcnNvbkgAiAEBQggKBl9wYXllciKXBAobQ3JlYXRlUGF5bWVudEludGVudFJlc3BvbnNlEk8KB3N1Y2Nlc3MYCiABKAsyPC50emVyby52MS5wYXltZW50X2ludGVudC5DcmVhdGVQYXltZW50SW50ZW50UmVzcG9uc2UuU3VjY2Vzc0gAEk8KB2ZhaWx1cmUYFCABKAsyPC50emVyby52MS5wYXltZW50X2ludGVudC5DcmVhdGVQYXltZW50SW50ZW50UmVzcG9uc2UuRmFpbHVyZUgAGnkKB1N1Y2Nlc3MSIgoRcGF5bWVudF9pbnRlbnRfaWQYCiABKARCB7pIBDICIAASSgoOcGF5X2luX2RldGFpbHMYFCADKAsyMi50emVyby52MS5wYXltZW50X2ludGVudC5QYXltZW50SW50ZW50UGF5SW5EZXRhaWxzGskBCgdGYWlsdXJlElMKBnJlYXNvbhgKIAEoDjJDLnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LkNyZWF0ZVBheW1lbnRJbnRlbnRSZXNwb25zZS5GYWlsdXJlLlJlYXNvbiJpCgZSZWFzb24SHgoaRkFJTFVSRV9SRUFTT05fVU5TUEVDSUZJRUQQABIiCh5GQUlMVVJFX1JFQVNPTl9RVU9URV9OT1RfRk9VTkQQChIbChdGQUlMVVJFX1JFQVNPTl9SRUpFQ1RFRBAUQg8KBnJlc3VsdBIFukgCCAEipgIKG0NvbmZpcm1GdW5kc1JlY2VpdmVkUmVxdWVzdBIiChFwYXltZW50X2ludGVudF9pZBgKIAEoBEIHukgEMgIgABIZChFjb25maXJtYXRpb25fY29kZRgUIAEoCRI6Cg5wYXltZW50X21ldGhvZBgeIAEoDjIiLnR6ZXJvLnYxLmNvbW1vbi5QYXltZW50TWV0aG9kVHlwZRIpChV0cmFuc2FjdGlvbl9yZWZlcmVuY2UYKCABKAlCCrpIB3IFEAEYgAISOQojb3JpZ2luYXRvcl9wcm92aWRlcl9sZWdhbF9lbnRpdHlfaWQYMiABKA1CB7pIBCoCIABIAIgBAUImCiRfb3JpZ2luYXRvcl9wcm92aWRlcl9sZWdhbF9lbnRpdHlfaWQigAQKHENvbmZpcm1GdW5kc1JlY2VpdmVkUmVzcG9uc2USTgoGYWNjZXB0GAogASgLMjwudHplcm8udjEucGF5bWVudF9pbnRlbnQuQ29uZmlybUZ1bmRzUmVjZWl2ZWRSZXNwb25zZS5BY2NlcHRIABJOCgZyZWplY3QYFCABKAsyPC50emVyby52MS5wYXltZW50X2ludGVudC5Db25maXJtRnVuZHNSZWNlaXZlZFJlc3BvbnNlLlJlamVjdEgAGggKBkFjY2VwdBqkAgoGUmVqZWN0ElMKBnJlYXNvbhgKIAEoDjJDLnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LkNvbmZpcm1GdW5kc1JlY2VpdmVkUmVzcG9uc2UuUmVqZWN0LlJlYXNvbiLEAQoGUmVhc29uEh0KGVJFSkVDVF9SRUFTT05fVU5TUEVDSUZJRUQQABIsCihSRUpFQ1RfUkVBU09OX0NPTkZJUk1BVElPTl9DT0RFX01JU01BVENIEAoSIQodUkVKRUNUX1JFQVNPTl9OT19BQ1RJVkVfUVVPVEUQFBImCiJSRUpFQ1RfUkVBU09OX1BST1ZJREVSX05PVF9BTExPV0VEEB4SIgoeUkVKRUNUX1JFQVNPTl9BTU9VTlRfVE9PX1NNQUxMEChCDwoGcmVzdWx0EgW6SAIIATL+AwoUUGF5bWVudEludGVudFNlcnZpY2USbQoLVXBkYXRlUXVvdGUSKy50emVyby52MS5wYXltZW50X2ludGVudC5VcGRhdGVRdW90ZVJlcXVlc3QaLC50emVyby52MS5wYXltZW50X2ludGVudC5VcGRhdGVRdW90ZVJlc3BvbnNlIgOQAgISZAoIR2V0UXVvdGUSKC50emVyby52MS5wYXltZW50X2ludGVudC5HZXRRdW90ZVJlcXVlc3QaKS50emVyby52MS5wYXltZW50X2ludGVudC5HZXRRdW90ZVJlc3BvbnNlIgOQAgIShQEKE0NyZWF0ZVBheW1lbnRJbnRlbnQSMy50emVyby52MS5wYXltZW50X2ludGVudC5DcmVhdGVQYXltZW50SW50ZW50UmVxdWVzdBo0LnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LkNyZWF0ZVBheW1lbnRJbnRlbnRSZXNwb25zZSIDkAICEogBChRDb25maXJtRnVuZHNSZWNlaXZlZBI0LnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LkNvbmZpcm1GdW5kc1JlY2VpdmVkUmVxdWVzdBo1LnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50LkNvbmZpcm1GdW5kc1JlY2VpdmVkUmVzcG9uc2UiA5ACAkL8AQobY29tLnR6ZXJvLnYxLnBheW1lbnRfaW50ZW50QgxOZXR3b3JrUHJvdG9QAVpCZ2l0aHViLmNvbS90LTAtbmV0d29yay9wcm92aWRlci1zZGsvZ28vYXBpL3R6ZXJvL3YxL3BheW1lbnRfaW50ZW50ogIDVFZQqgIpVDAuUHJvdmlkZXJTZGsuQXBpLlR6ZXJvLlYxLlBheW1lbnRJbnRlbnTKAhZUemVyb1xWMVxQYXltZW50SW50ZW504gIiVHplcm9cVjFcUGF5bWVudEludGVudFxHUEJNZXRhZGF0YeoCGFR6ZXJvOjpWMTo6UGF5bWVudEludGVudGIGcHJvdG8z", [file_buf_validate_validate, file_tzero_v1_common_common, file_tzero_v1_common_payment_method, file_ivms101_v1_ivms_ivms101, file_google_protobuf_timestamp]);
|
|
14
14
|
/**
|
|
15
15
|
* Describes the message tzero.v1.payment_intent.UpdateQuoteRequest.
|
|
16
16
|
* Use `create(UpdateQuoteRequestSchema)` to create a new message.
|
|
@@ -155,6 +155,14 @@ export var ConfirmFundsReceivedResponse_Reject_Reason;
|
|
|
155
155
|
* @generated from enum value: REJECT_REASON_PROVIDER_NOT_ALLOWED = 30;
|
|
156
156
|
*/
|
|
157
157
|
ConfirmFundsReceivedResponse_Reject_Reason[ConfirmFundsReceivedResponse_Reject_Reason["REJECT_REASON_PROVIDER_NOT_ALLOWED"] = 30] = "REJECT_REASON_PROVIDER_NOT_ALLOWED";
|
|
158
|
+
/**
|
|
159
|
+
* *
|
|
160
|
+
* The pay-in amount would yield a zero or negative beneficiary
|
|
161
|
+
* settlement (pay_in / rate − fix) at every active quote.
|
|
162
|
+
*
|
|
163
|
+
* @generated from enum value: REJECT_REASON_AMOUNT_TOO_SMALL = 40;
|
|
164
|
+
*/
|
|
165
|
+
ConfirmFundsReceivedResponse_Reject_Reason[ConfirmFundsReceivedResponse_Reject_Reason["REJECT_REASON_AMOUNT_TOO_SMALL"] = 40] = "REJECT_REASON_AMOUNT_TOO_SMALL";
|
|
158
166
|
})(ConfirmFundsReceivedResponse_Reject_Reason || (ConfirmFundsReceivedResponse_Reject_Reason = {}));
|
|
159
167
|
/**
|
|
160
168
|
* Describes the enum tzero.v1.payment_intent.ConfirmFundsReceivedResponse.Reject.Reason.
|
|
@@ -52,14 +52,14 @@ export type GetPaymentDetailsRequest = Message<"tzero.v1.payment_intent.GetPayme
|
|
|
52
52
|
*
|
|
53
53
|
* @generated from field: tzero.v1.common.Decimal amount = 50;
|
|
54
54
|
*/
|
|
55
|
-
amount?: Decimal;
|
|
55
|
+
amount?: Decimal | undefined;
|
|
56
56
|
/**
|
|
57
57
|
* *
|
|
58
58
|
* Travel rule data for this payment
|
|
59
59
|
*
|
|
60
60
|
* @generated from field: tzero.v1.payment_intent.GetPaymentDetailsRequest.TravelRuleData travel_rule = 60;
|
|
61
61
|
*/
|
|
62
|
-
travelRule?: GetPaymentDetailsRequest_TravelRuleData;
|
|
62
|
+
travelRule?: GetPaymentDetailsRequest_TravelRuleData | undefined;
|
|
63
63
|
};
|
|
64
64
|
/**
|
|
65
65
|
* Describes the message tzero.v1.payment_intent.GetPaymentDetailsRequest.
|
|
@@ -84,14 +84,14 @@ export type GetPaymentDetailsRequest_TravelRuleData = Message<"tzero.v1.payment_
|
|
|
84
84
|
*
|
|
85
85
|
* @generated from field: ivms101.LegalPerson beneficiary_provider = 30;
|
|
86
86
|
*/
|
|
87
|
-
beneficiaryProvider?: LegalPerson;
|
|
87
|
+
beneficiaryProvider?: LegalPerson | undefined;
|
|
88
88
|
/**
|
|
89
89
|
* *
|
|
90
90
|
* Optional travel rule data of the payer
|
|
91
91
|
*
|
|
92
92
|
* @generated from field: optional ivms101.Person payer = 40;
|
|
93
93
|
*/
|
|
94
|
-
payer?: Person;
|
|
94
|
+
payer?: Person | undefined;
|
|
95
95
|
};
|
|
96
96
|
/**
|
|
97
97
|
* Describes the message tzero.v1.payment_intent.GetPaymentDetailsRequest.TravelRuleData.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=ts,import_extension=js"
|
|
2
2
|
// @generated from file tzero/v1/payment_intent/pay_in_provider.proto (package tzero.v1.payment_intent, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
@@ -27,7 +27,7 @@ export type CreatePaymentIntentRequest = Message<"tzero.v1.payment_intent.provid
|
|
|
27
27
|
*
|
|
28
28
|
* @generated from field: tzero.v1.common.Decimal amount = 30;
|
|
29
29
|
*/
|
|
30
|
-
amount?: Decimal;
|
|
30
|
+
amount?: Decimal | undefined;
|
|
31
31
|
/**
|
|
32
32
|
* @generated from field: uint32 merchant_id = 50;
|
|
33
33
|
*/
|
|
@@ -99,7 +99,7 @@ export type ConfirmPaymentResponse = Message<"tzero.v1.payment_intent.provider.C
|
|
|
99
99
|
*
|
|
100
100
|
* @generated from field: tzero.v1.common.Decimal settlement_amount = 10;
|
|
101
101
|
*/
|
|
102
|
-
settlementAmount?: Decimal;
|
|
102
|
+
settlementAmount?: Decimal | undefined;
|
|
103
103
|
/**
|
|
104
104
|
* @generated from field: uint32 payout_provider_id = 20;
|
|
105
105
|
*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=ts,import_extension=js"
|
|
2
2
|
// @generated from file tzero/v1/payment_intent/provider/provider.proto (package tzero.v1.payment_intent.provider, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
|
@@ -33,7 +33,7 @@ export type CreatePaymentIntentRequest = Message<"tzero.v1.payment_intent.recipi
|
|
|
33
33
|
*
|
|
34
34
|
* @generated from field: tzero.v1.common.Decimal pay_in_amount = 30;
|
|
35
35
|
*/
|
|
36
|
-
payInAmount?: Decimal;
|
|
36
|
+
payInAmount?: Decimal | undefined;
|
|
37
37
|
/**
|
|
38
38
|
* *
|
|
39
39
|
* Payout currency
|
|
@@ -47,7 +47,7 @@ export type CreatePaymentIntentRequest = Message<"tzero.v1.payment_intent.recipi
|
|
|
47
47
|
*
|
|
48
48
|
* @generated from field: tzero.v1.common.PaymentDetails pay_out_details = 50;
|
|
49
49
|
*/
|
|
50
|
-
payOutDetails?: PaymentDetails;
|
|
50
|
+
payOutDetails?: PaymentDetails | undefined;
|
|
51
51
|
};
|
|
52
52
|
/**
|
|
53
53
|
* Describes the message tzero.v1.payment_intent.recipient.CreatePaymentIntentRequest.
|
|
@@ -113,7 +113,7 @@ export type GetQuoteRequest = Message<"tzero.v1.payment_intent.recipient.GetQuot
|
|
|
113
113
|
*
|
|
114
114
|
* @generated from field: tzero.v1.common.Decimal pay_in_amount = 20;
|
|
115
115
|
*/
|
|
116
|
-
payInAmount?: Decimal;
|
|
116
|
+
payInAmount?: Decimal | undefined;
|
|
117
117
|
/**
|
|
118
118
|
* *
|
|
119
119
|
* Payout currency
|
|
@@ -180,14 +180,14 @@ export type GetQuoteResponse_Quote = Message<"tzero.v1.payment_intent.recipient.
|
|
|
180
180
|
*
|
|
181
181
|
* @generated from field: tzero.v1.common.Decimal rate = 10;
|
|
182
182
|
*/
|
|
183
|
-
rate?: Decimal;
|
|
183
|
+
rate?: Decimal | undefined;
|
|
184
184
|
/**
|
|
185
185
|
* *
|
|
186
186
|
* Time until when quote is valid. Used only for reference. Actual quote is determined at the moment of payment.
|
|
187
187
|
*
|
|
188
188
|
* @generated from field: google.protobuf.Timestamp expiration = 20;
|
|
189
189
|
*/
|
|
190
|
-
expiration?: Timestamp;
|
|
190
|
+
expiration?: Timestamp | undefined;
|
|
191
191
|
};
|
|
192
192
|
/**
|
|
193
193
|
* Describes the message tzero.v1.payment_intent.recipient.GetQuoteResponse.Quote.
|
|
@@ -268,14 +268,14 @@ export type ConfirmPaymentRequest = Message<"tzero.v1.payment_intent.recipient.C
|
|
|
268
268
|
*
|
|
269
269
|
* @generated from field: tzero.v1.common.Decimal pay_out_amount = 40;
|
|
270
270
|
*/
|
|
271
|
-
payOutAmount?: Decimal;
|
|
271
|
+
payOutAmount?: Decimal | undefined;
|
|
272
272
|
/**
|
|
273
273
|
* *
|
|
274
274
|
* Payment receipt might contain metadata about payment recognizable by pay-in provider.
|
|
275
275
|
*
|
|
276
276
|
* @generated from field: tzero.v1.common.PaymentReceipt receipt = 50;
|
|
277
277
|
*/
|
|
278
|
-
receipt?: PaymentReceipt;
|
|
278
|
+
receipt?: PaymentReceipt | undefined;
|
|
279
279
|
};
|
|
280
280
|
/**
|
|
281
281
|
* Describes the message tzero.v1.payment_intent.recipient.ConfirmPaymentRequest.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// @generated by protoc-gen-es v2.
|
|
1
|
+
// @generated by protoc-gen-es v2.12.0 with parameter "target=ts,import_extension=js"
|
|
2
2
|
// @generated from file tzero/v1/payment_intent/recipient/recipient.proto (package tzero.v1.payment_intent.recipient, syntax proto3)
|
|
3
3
|
/* eslint-disable */
|
|
4
4
|
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
|
package/lib/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export * from "./client/client.js";
|
|
2
2
|
export * from "./service/service.js";
|
|
3
|
+
export * from "./service/validate_response.js";
|
|
3
4
|
export * from "./service/node.js";
|
|
4
5
|
export { connectNodeAdapter as nodeAdapter } from "@connectrpc/connect-node";
|
|
5
6
|
export type { Client, HandlerContext } from "@connectrpc/connect";
|
|
@@ -7,5 +8,8 @@ export * from './common/gen/tzero/v1/common/common_pb.js';
|
|
|
7
8
|
export * from './common/gen/tzero/v1/common/payment_method_pb.js';
|
|
8
9
|
export * from './common/gen/tzero/v1/payment/provider_pb.js';
|
|
9
10
|
export * from './common/gen/tzero/v1/payment/network_pb.js';
|
|
11
|
+
export * as PaymentIntentNetwork from './common/gen/tzero/v1/payment_intent/network_pb.js';
|
|
12
|
+
export * as PaymentIntentPayInProvider from './common/gen/tzero/v1/payment_intent/pay_in_provider_pb.js';
|
|
13
|
+
export * as PaymentIntentBeneficiary from './common/gen/tzero/v1/payment_intent/beneficiary_pb.js';
|
|
10
14
|
export * as PaymentIntentProvider from './common/gen/tzero/v1/payment_intent/provider/provider_pb.js';
|
|
11
15
|
export * as PaymentIntentRecipient from './common/gen/tzero/v1/payment_intent/recipient/recipient_pb.js';
|
package/lib/esm/index.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
export * from "./client/client.js";
|
|
2
2
|
export * from "./service/service.js";
|
|
3
|
+
export * from "./service/validate_response.js";
|
|
3
4
|
export * from "./service/node.js";
|
|
4
5
|
export { connectNodeAdapter as nodeAdapter } from "@connectrpc/connect-node";
|
|
5
6
|
export * from './common/gen/tzero/v1/common/common_pb.js';
|
|
6
7
|
export * from './common/gen/tzero/v1/common/payment_method_pb.js';
|
|
7
8
|
export * from './common/gen/tzero/v1/payment/provider_pb.js';
|
|
8
9
|
export * from './common/gen/tzero/v1/payment/network_pb.js';
|
|
10
|
+
export * as PaymentIntentNetwork from './common/gen/tzero/v1/payment_intent/network_pb.js';
|
|
11
|
+
export * as PaymentIntentPayInProvider from './common/gen/tzero/v1/payment_intent/pay_in_provider_pb.js';
|
|
12
|
+
export * as PaymentIntentBeneficiary from './common/gen/tzero/v1/payment_intent/beneficiary_pb.js';
|
|
9
13
|
export * as PaymentIntentProvider from './common/gen/tzero/v1/payment_intent/provider/provider_pb.js';
|
|
10
14
|
export * as PaymentIntentRecipient from './common/gen/tzero/v1/payment_intent/recipient/recipient_pb.js';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Code, ConnectError, createContextKey, createContextValues } from "@connectrpc/connect";
|
|
2
2
|
import NetworkHeaders from "../common/headers.js";
|
|
3
3
|
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
4
|
+
import { createValidationInterceptor } from "./validate_response.js";
|
|
4
5
|
export const REQUEST_VALIDITY_MILLIS = 60000;
|
|
5
6
|
const createSignatureVerification = (networkPublicKey) => (next) => async (req) => {
|
|
6
7
|
const ts = decodeNum(getHeader(req, NetworkHeaders.SignatureTimestamp));
|
|
@@ -41,7 +42,7 @@ export const createService = (networkPublicKey, registerRoutes) => {
|
|
|
41
42
|
routes: (router) => {
|
|
42
43
|
registerRoutes(router);
|
|
43
44
|
},
|
|
44
|
-
interceptors: [createSignatureVerification(networkPublicKey)],
|
|
45
|
+
interceptors: [createSignatureVerification(networkPublicKey), createValidationInterceptor()],
|
|
45
46
|
grpcWeb: false,
|
|
46
47
|
contextValues: (req) => {
|
|
47
48
|
return createContextValues().set(kHash, req.hasher);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Interceptor } from "@connectrpc/connect";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a ConnectRPC interceptor that validates provider responses against
|
|
4
|
+
* buf.validate proto annotations before they are serialized and sent.
|
|
5
|
+
* Also validates incoming requests using the official @connectrpc/validate interceptor.
|
|
6
|
+
*
|
|
7
|
+
* Invalid requests return Code.InvalidArgument; invalid responses return Code.Internal.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createValidationInterceptor(): Interceptor;
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Use createValidationInterceptor instead.
|
|
12
|
+
*/
|
|
13
|
+
export declare const createResponseValidation: typeof createValidationInterceptor;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Code, ConnectError } from "@connectrpc/connect";
|
|
2
|
+
import { createValidator } from "@bufbuild/protovalidate";
|
|
3
|
+
import { createValidateInterceptor } from "@connectrpc/validate";
|
|
4
|
+
const validator = createValidator();
|
|
5
|
+
/**
|
|
6
|
+
* Creates a ConnectRPC interceptor that validates provider responses against
|
|
7
|
+
* buf.validate proto annotations before they are serialized and sent.
|
|
8
|
+
* Also validates incoming requests using the official @connectrpc/validate interceptor.
|
|
9
|
+
*
|
|
10
|
+
* Invalid requests return Code.InvalidArgument; invalid responses return Code.Internal.
|
|
11
|
+
*/
|
|
12
|
+
export function createValidationInterceptor() {
|
|
13
|
+
const requestInterceptor = createValidateInterceptor();
|
|
14
|
+
return (next) => async (req) => {
|
|
15
|
+
// Validate request (delegates to official interceptor which throws on invalid)
|
|
16
|
+
const resp = await requestInterceptor(next)(req);
|
|
17
|
+
// Validate response
|
|
18
|
+
const schema = req.method.output;
|
|
19
|
+
const msg = resp.message;
|
|
20
|
+
const result = validator.validate(schema, msg);
|
|
21
|
+
if (result.kind === "invalid") {
|
|
22
|
+
const details = result.violations.map(v => `${v.field?.toString() ?? ""}: ${v.message}`).join("; ");
|
|
23
|
+
throw new ConnectError(`response validation failed: ${details}`, Code.Internal);
|
|
24
|
+
}
|
|
25
|
+
if (result.kind === "error") {
|
|
26
|
+
throw new ConnectError(`response validation error: ${result.error.message}`, Code.Internal);
|
|
27
|
+
}
|
|
28
|
+
return resp;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @deprecated Use createValidationInterceptor instead.
|
|
33
|
+
*/
|
|
34
|
+
export const createResponseValidation = createValidationInterceptor;
|