From 7b82cb8b5da32b7e39ff6671523bcf8679629f58 Mon Sep 17 00:00:00 2001 From: Pasha Date: Tue, 22 Jul 2025 14:32:56 +0300 Subject: [PATCH] initilize alchemy provider --- internal/initialize/config.go | 21 +++++++++++---------- internal/initialize/services.go | 11 ++++++++++- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/internal/initialize/config.go b/internal/initialize/config.go index 6384bd9..db5fca1 100644 --- a/internal/initialize/config.go +++ b/internal/initialize/config.go @@ -6,16 +6,17 @@ import ( ) type Config struct { - HttpURL string `env:"HTTP_URL" envDefault:"0.0.0.0:8080"` - HttpDomain string `env:"HTTP_DOMAIN" envDefault:"http://localhost:8080"` - GrpcURL string `env:"GRPC_URL,required" envDefault:"localhost:9000"` - YooMoneyStoreID string `env:"YOOMONEY_STORE_ID" envDefault:"storeid"` - YooMoneySecretKey string `env:"YOOMONEY_SECRET_KEY" envDefault:"secret"` - IsMock bool `env:"IS_MOCK" envDefault:"false"` - MockServiceHost string `env:"MOCK_SERVICE_HOST" envDefault:"http://treasurer-mock:8080"` - YooMoneyWebhooksURL string `env:"YOOMONEY_WEBHOOKS_URL" envDefault:"http://treasurer-mock:8080/webhooks"` - YooMoneyPaymentsURL string `env:"YOOMONEY_PAYMENTS_URL" envDefault:"http://treasurer-mock:8080/payments"` - Database mongo.Configuration + HttpURL string `env:"HTTP_URL" envDefault:"0.0.0.0:8080"` + HttpDomain string `env:"HTTP_DOMAIN" envDefault:"http://localhost:8080"` + GrpcURL string `env:"GRPC_URL,required" envDefault:"localhost:9000"` + YooMoneyStoreID string `env:"YOOMONEY_STORE_ID" envDefault:"storeid"` + YooMoneySecretKey string `env:"YOOMONEY_SECRET_KEY" envDefault:"secret"` + IsMock bool `env:"IS_MOCK" envDefault:"false"` + MockServiceHost string `env:"MOCK_SERVICE_HOST" envDefault:"http://treasurer-mock:8080"` + YooMoneyWebhooksURL string `env:"YOOMONEY_WEBHOOKS_URL" envDefault:"http://treasurer-mock:8080/webhooks"` + YooMoneyPaymentsURL string `env:"YOOMONEY_PAYMENTS_URL" envDefault:"http://treasurer-mock:8080/payments"` + AlchemyWalletAddress string `env:"ALCHEMY_WALLET_ADDRESS" envDefault:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d"` + Database mongo.Configuration } func LoadConfig() (*Config, error) { diff --git a/internal/initialize/services.go b/internal/initialize/services.go index 1504b0a..6d94803 100644 --- a/internal/initialize/services.go +++ b/internal/initialize/services.go @@ -3,6 +3,7 @@ package initialize import ( "gitea.pena/PenaSide/treasurer/internal/errors" "gitea.pena/PenaSide/treasurer/internal/payment_provider" + "gitea.pena/PenaSide/treasurer/internal/payment_provider/alchemy" "gitea.pena/PenaSide/treasurer/internal/payment_provider/yoomoney" "gitea.pena/PenaSide/treasurer/internal/service/callback" "gitea.pena/PenaSide/treasurer/internal/service/mock" @@ -107,6 +108,14 @@ func NewServices(deps ServicesDeps) (*Services, errors.Error) { return nil, err } + alchemyProvider := alchemy.New(alchemy.Deps{ + Repository: deps.Repositories.Payment, + Logger: deps.Logger, + Config: &alchemy.Config{ + WalletAddress: deps.Config.AlchemyWalletAddress, + }, + }) + return &Services{ Callback: callbackService, Payment: paymentService, @@ -114,6 +123,6 @@ func NewServices(deps ServicesDeps) (*Services, errors.Error) { Status: statusService, //YandexWebhook: yandexWebhookService, Mock: mockService, - PaymentProviders: []payment_provider.PaymentProvider{yooMoneyProvider}, + PaymentProviders: []payment_provider.PaymentProvider{yooMoneyProvider, alchemyProvider}, }, nil }