initilize alchemy provider

This commit is contained in:
Pasha 2025-07-22 14:32:56 +03:00
parent f0d3d0c9cd
commit 7b82cb8b5d
2 changed files with 21 additions and 11 deletions

@ -6,16 +6,17 @@ import (
) )
type Config struct { type Config struct {
HttpURL string `env:"HTTP_URL" envDefault:"0.0.0.0:8080"` HttpURL string `env:"HTTP_URL" envDefault:"0.0.0.0:8080"`
HttpDomain string `env:"HTTP_DOMAIN" envDefault:"http://localhost:8080"` HttpDomain string `env:"HTTP_DOMAIN" envDefault:"http://localhost:8080"`
GrpcURL string `env:"GRPC_URL,required" envDefault:"localhost:9000"` GrpcURL string `env:"GRPC_URL,required" envDefault:"localhost:9000"`
YooMoneyStoreID string `env:"YOOMONEY_STORE_ID" envDefault:"storeid"` YooMoneyStoreID string `env:"YOOMONEY_STORE_ID" envDefault:"storeid"`
YooMoneySecretKey string `env:"YOOMONEY_SECRET_KEY" envDefault:"secret"` YooMoneySecretKey string `env:"YOOMONEY_SECRET_KEY" envDefault:"secret"`
IsMock bool `env:"IS_MOCK" envDefault:"false"` IsMock bool `env:"IS_MOCK" envDefault:"false"`
MockServiceHost string `env:"MOCK_SERVICE_HOST" envDefault:"http://treasurer-mock:8080"` MockServiceHost string `env:"MOCK_SERVICE_HOST" envDefault:"http://treasurer-mock:8080"`
YooMoneyWebhooksURL string `env:"YOOMONEY_WEBHOOKS_URL" envDefault:"http://treasurer-mock:8080/webhooks"` YooMoneyWebhooksURL string `env:"YOOMONEY_WEBHOOKS_URL" envDefault:"http://treasurer-mock:8080/webhooks"`
YooMoneyPaymentsURL string `env:"YOOMONEY_PAYMENTS_URL" envDefault:"http://treasurer-mock:8080/payments"` YooMoneyPaymentsURL string `env:"YOOMONEY_PAYMENTS_URL" envDefault:"http://treasurer-mock:8080/payments"`
Database mongo.Configuration AlchemyWalletAddress string `env:"ALCHEMY_WALLET_ADDRESS" envDefault:"0x75faf114eafb1BDbe2F0316DF893fd58CE46AA4d"`
Database mongo.Configuration
} }
func LoadConfig() (*Config, error) { func LoadConfig() (*Config, error) {

@ -3,6 +3,7 @@ package initialize
import ( import (
"gitea.pena/PenaSide/treasurer/internal/errors" "gitea.pena/PenaSide/treasurer/internal/errors"
"gitea.pena/PenaSide/treasurer/internal/payment_provider" "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/payment_provider/yoomoney"
"gitea.pena/PenaSide/treasurer/internal/service/callback" "gitea.pena/PenaSide/treasurer/internal/service/callback"
"gitea.pena/PenaSide/treasurer/internal/service/mock" "gitea.pena/PenaSide/treasurer/internal/service/mock"
@ -107,6 +108,14 @@ func NewServices(deps ServicesDeps) (*Services, errors.Error) {
return nil, err return nil, err
} }
alchemyProvider := alchemy.New(alchemy.Deps{
Repository: deps.Repositories.Payment,
Logger: deps.Logger,
Config: &alchemy.Config{
WalletAddress: deps.Config.AlchemyWalletAddress,
},
})
return &Services{ return &Services{
Callback: callbackService, Callback: callbackService,
Payment: paymentService, Payment: paymentService,
@ -114,6 +123,6 @@ func NewServices(deps ServicesDeps) (*Services, errors.Error) {
Status: statusService, Status: statusService,
//YandexWebhook: yandexWebhookService, //YandexWebhook: yandexWebhookService,
Mock: mockService, Mock: mockService,
PaymentProviders: []payment_provider.PaymentProvider{yooMoneyProvider}, PaymentProviders: []payment_provider.PaymentProvider{yooMoneyProvider, alchemyProvider},
}, nil }, nil
} }