diff --git a/.woodpecker/bff.yml b/.woodpecker/bff.yml index 19dbb7a4..90982716 100644 --- a/.woodpecker/bff.yml +++ b/.woodpecker/bff.yml @@ -9,6 +9,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/server/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/billing_documents.yml b/.woodpecker/billing_documents.yml index 704aa9e9..57102408 100644 --- a/.woodpecker/billing_documents.yml +++ b/.woodpecker/billing_documents.yml @@ -8,6 +8,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/billing/documents/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/billing_fees.yml b/.woodpecker/billing_fees.yml index 8ae4f8e3..d9cd9f55 100644 --- a/.woodpecker/billing_fees.yml +++ b/.woodpecker/billing_fees.yml @@ -8,6 +8,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/billing/fees/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/discovery.yml b/.woodpecker/discovery.yml index 18b69d87..df075aae 100644 --- a/.woodpecker/discovery.yml +++ b/.woodpecker/discovery.yml @@ -7,6 +7,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/discovery/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/frontend.yml b/.woodpecker/frontend.yml index 60022563..6e8087c4 100644 --- a/.woodpecker/frontend.yml +++ b/.woodpecker/frontend.yml @@ -7,6 +7,13 @@ matrix: when: - event: push branch: main + path: + include: + - api/server/** + - api/pkg/** + - api/proto/** + - frontend/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/fx_ingestor.yml b/.woodpecker/fx_ingestor.yml index 4405999b..5b0a7dc7 100644 --- a/.woodpecker/fx_ingestor.yml +++ b/.woodpecker/fx_ingestor.yml @@ -11,6 +11,13 @@ matrix: when: - event: push branch: main + path: + include: + - api/fx/ingestor/** + - api/fx/storage/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/fx_oracle.yml b/.woodpecker/fx_oracle.yml index ac0e9c3b..569450ec 100644 --- a/.woodpecker/fx_oracle.yml +++ b/.woodpecker/fx_oracle.yml @@ -11,6 +11,14 @@ matrix: when: - event: push branch: main + path: + include: + - api/fx/oracle/** + - api/fx/storage/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' + steps: - name: version diff --git a/.woodpecker/gateway_chain.yml b/.woodpecker/gateway_chain.yml index 4eb98ede..34565d8b 100644 --- a/.woodpecker/gateway_chain.yml +++ b/.woodpecker/gateway_chain.yml @@ -11,6 +11,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/gateway/chain/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/gateway_mntx.yml b/.woodpecker/gateway_mntx.yml index 67bf6b4b..4535df17 100644 --- a/.woodpecker/gateway_mntx.yml +++ b/.woodpecker/gateway_mntx.yml @@ -10,6 +10,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/gateway/mntx/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/gateway_tgsettle.yml b/.woodpecker/gateway_tgsettle.yml index ac863ab2..dc3e118a 100644 --- a/.woodpecker/gateway_tgsettle.yml +++ b/.woodpecker/gateway_tgsettle.yml @@ -8,6 +8,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/gateway/tgsettle/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/gateway_tron.yml b/.woodpecker/gateway_tron.yml index cb27b520..82d977d6 100644 --- a/.woodpecker/gateway_tron.yml +++ b/.woodpecker/gateway_tron.yml @@ -11,6 +11,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/gateway/tron/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/ledger.yml b/.woodpecker/ledger.yml index 486a6520..d1bcfdd3 100644 --- a/.woodpecker/ledger.yml +++ b/.woodpecker/ledger.yml @@ -8,6 +8,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/ledger/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/notification.yml b/.woodpecker/notification.yml index 1a586f2a..fefb0425 100644 --- a/.woodpecker/notification.yml +++ b/.woodpecker/notification.yml @@ -11,6 +11,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/notification/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/.woodpecker/payments_orchestrator.yml b/.woodpecker/payments_orchestrator.yml index 58697c3c..09522e04 100644 --- a/.woodpecker/payments_orchestrator.yml +++ b/.woodpecker/payments_orchestrator.yml @@ -8,6 +8,12 @@ matrix: when: - event: push branch: main + path: + include: + - api/payments/orchestrator/** + - api/proto/** + - api/pkg/** + ignore_message: '[REBUILD]' steps: - name: version diff --git a/api/gateway/tgsettle/internal/service/gateway/service.go b/api/gateway/tgsettle/internal/service/gateway/service.go index 78e3dd75..adbccb9e 100644 --- a/api/gateway/tgsettle/internal/service/gateway/service.go +++ b/api/gateway/tgsettle/internal/service/gateway/service.go @@ -253,6 +253,10 @@ func (s *Service) onIntent(ctx context.Context, intent *model.PaymentGatewayInte s.logger.Warn("Payment gateway intent rejected", zap.String("reason", "requested_money is required"), zap.String("idempotency_key", intent.IdempotencyKey)) return merrors.InvalidArgument("requested_money is required", "requested_money") } + if intent.OperationRef == "" { + s.logger.Warn("Payment gateway intent rejected", zap.String("reason", "operation_ref is required")) + return merrors.InvalidArgument("operation_ref is required", "operation_ref") + } if s.repo == nil || s.repo.Payments() == nil { s.logger.Warn("Payment gateway storage unavailable", zap.String("idempotency_key", intent.IdempotencyKey)) return merrors.Internal("payment gateway storage unavailable") @@ -274,7 +278,9 @@ func (s *Service) onIntent(ctx context.Context, intent *model.PaymentGatewayInte zap.String("payment_intent_id", confirmReq.PaymentIntentID), zap.String("quote_ref", confirmReq.QuoteRef), zap.String("rail", confirmReq.Rail), - zap.String("status", string(existing.Status))) + zap.String("status", string(existing.Status)), + zap.String("operation_ref", confirmReq.OperationRef), + ) return nil } @@ -609,6 +615,10 @@ func intentFromSubmitTransfer(req *chainv1.SubmitTransferRequest, defaultRail, d if paymentRef == "" { return nil, merrors.InvalidArgument("submit_transfer: payment_ref is required") } + operationRef := strings.TrimSpace(req.OperationRef) + if operationRef == "" { + return nil, merrors.InvalidArgument("submit_transfer: operation_ref is required") + } quoteRef := strings.TrimSpace(metadata[metadataQuoteRef]) targetChatID := strings.TrimSpace(metadata[metadataTargetChatID]) outgoingLeg := strings.TrimSpace(metadata[metadataOutgoingLeg]) @@ -626,6 +636,7 @@ func intentFromSubmitTransfer(req *chainv1.SubmitTransferRequest, defaultRail, d QuoteRef: quoteRef, RequestedMoney: requestedMoney, IntentRef: intentRef, + OperationRef: operationRef, }, nil }