Documentation
¶
Index ¶
- func Load[T any](configPaths []string, envPrefix string) (*T, error)
- type ArbitrumBlockchain
- type BinanceSmartChainBlockchain
- type BitcoinBlockchain
- type BitcoinCashBlockchain
- type Blockchain
- type Config
- type DogecoinBlockchain
- type EthereumBlockchain
- type IEVMConfig
- type LineaBlockchain
- type LitecoinBlockchain
- type MerchantAdmin
- type OptimismBlockchain
- type PolygonBlockchain
- type ResourceManager
- type TronBlockchain
- type TronNode
- type Updater
- type Watcher
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ArbitrumBlockchain ¶
type ArbitrumBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Node struct { Address string `json:"address" yaml:"address" usage:"node address"` } Attributes struct { MaxGasPrice float64 `yaml:"max_gas_price" json:"max_gas_price" validate:"gte=0" default:"1" usage:"max gas price in Gwei"` } }
func (ArbitrumBlockchain) GetMaxGasFee ¶
func (s ArbitrumBlockchain) GetMaxGasFee() float64
GetMaxGassFee returns the max gas fee in Gwei
func (ArbitrumBlockchain) IsEnabled ¶
func (s ArbitrumBlockchain) IsEnabled() bool
IsEnabled returns true if the blockchain is enabled
type BinanceSmartChainBlockchain ¶
type BinanceSmartChainBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Node struct { Address string `json:"address" yaml:"address" usage:"node address"` } Attributes struct { MaxGasPrice float64 `yaml:"max_gas_price" json:"max_gas_price" validate:"gte=0" default:"3" usage:"max gas price in Gwei"` } }
func (BinanceSmartChainBlockchain) GetMaxGasFee ¶
func (s BinanceSmartChainBlockchain) GetMaxGasFee() float64
GetMaxGassFee returns the max gas fee in Gwei
func (BinanceSmartChainBlockchain) IsEnabled ¶
func (s BinanceSmartChainBlockchain) IsEnabled() bool
IsEnabled returns true if the blockchain is enabled
func (BinanceSmartChainBlockchain) Validate ¶
func (s BinanceSmartChainBlockchain) Validate() error
Validate
type BitcoinBlockchain ¶
type BitcoinBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Attributes struct { FeePerByte int64 `yaml:"fee_per_byte" json:"fee_per_byte" default:"7"` MinUTXOAmount int64 `yaml:"min_utxo_amount" json:"min_utxo_amount" default:"0" usage:"min UTXO amount in satoshi"` } Node struct { Address string `usage:"node address"` Login string `yaml:"login" json:"login" secret:"true" usage:"node login"` Secret string `secret:"true"` UseTLS bool `yaml:"use_tls" json:"use_tls" default:"true" usage:"use TLS for connection"` } }
func (BitcoinBlockchain) ConvertToSDKConfig ¶
func (s BitcoinBlockchain) ConvertToSDKConfig(identity constants.ProcessingIdentity) btc.Config
func (BitcoinBlockchain) Validate ¶
func (s BitcoinBlockchain) Validate() error
type BitcoinCashBlockchain ¶
type BitcoinCashBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Attributes struct { FeePerByte int64 `yaml:"fee_per_byte" json:"fee_per_byte" default:"1"` MinUTXOAmount int64 `yaml:"min_utxo_amount" json:"min_utxo_amount" default:"0" usage:"min UTXO amount in satoshi"` } Node struct { Address string `usage:"node address"` Login string `yaml:"login" json:"login" secret:"true" usage:"node login"` Secret string `secret:"true"` UseTLS bool `yaml:"use_tls" json:"use_tls" default:"true" usage:"use TLS for connection"` } }
func (BitcoinCashBlockchain) ConvertToSDKConfig ¶
func (s BitcoinCashBlockchain) ConvertToSDKConfig(_ constants.ProcessingIdentity) bch.Config
func (BitcoinCashBlockchain) Validate ¶
func (s BitcoinCashBlockchain) Validate() error
type Blockchain ¶
type Blockchain struct { // Tron Tron TronBlockchain // EVM Ethereum EthereumBlockchain BinanceSmartChain BinanceSmartChainBlockchain `yaml:"bsc"` //nolint:tagliatelle Polygon PolygonBlockchain Arbitrum ArbitrumBlockchain Optimism OptimismBlockchain Linea LineaBlockchain // BTC Like Bitcoin BitcoinBlockchain Litecoin LitecoinBlockchain BitcoinCash BitcoinCashBlockchain `yaml:"bitcoin_cash"` Dogecoin DogecoinBlockchain `yaml:"dogecoin"` }
func (Blockchain) Available ¶
func (b Blockchain) Available() []wconstants.BlockchainType
Available blockchains
func (Blockchain) GetEVMByBlockchainType ¶
func (s Blockchain) GetEVMByBlockchainType(blockchainType wconstants.BlockchainType) (IEVMConfig, error)
type Config ¶
type Config struct { Log logger.Config Ops ops.Config Postgres postgres.Config Grpc connectrpc_transport.Config ExplorerProxy connectrpc_client.Config `yaml:"explorer_proxy"` Blockchain Blockchain ResourceManager ResourceManager `yaml:"resource_manager"` Watcher Watcher `yaml:"watcher"` Webhooks struct { Sender struct { Enabled bool `json:"enabled" yaml:"enabled" usage:"allows to enable and disable webhook sender" default:"true" example:"true / false"` Quantity int32 `` /* 145-byte string literal not displayed */ } Cleanup struct { Enabled bool `` /* 127-byte string literal not displayed */ Cron string `` /* 136-byte string literal not displayed */ MaxAge time.Duration `` /* 142-byte string literal not displayed */ } RemoveAfterSent bool `` /* 159-byte string literal not displayed */ } Interceptors struct { DisableCheckingSign bool `` /* 147-byte string literal not displayed */ } Transfers struct { Enabled bool `yaml:"enabled" json:"enabled" usage:"allows to enable transfers service" default:"true" example:"true / false"` } UseCacheForWallets bool `` /* 164-byte string literal not displayed */ MerchantAdmin MerchantAdmin `yaml:"merchant_admin"` Updater Updater `yaml:"updater"` }
func (Config) IsEnabledSeedEncryption ¶
IsEnabledSeedEncryption always returns true. It uses for removing this kostyl in future.
func (*Config) SetDefaults ¶
func (c *Config) SetDefaults()
type DogecoinBlockchain ¶
type DogecoinBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Attributes struct { FeePerByte int64 `yaml:"fee_per_byte" json:"fee_per_byte" default:"50000"` MinUTXOAmount int64 `yaml:"min_utxo_amount" json:"min_utxo_amount" default:"0" usage:"min UTXO amount in satoshi"` } Node struct { Address string `usage:"node address"` Login string `yaml:"login" json:"login" secret:"" usage:"node login"` Secret string `secret:""` UseTLS bool `yaml:"use_tls" json:"use_tls" default:"true" usage:"use TLS for connection"` } }
func (DogecoinBlockchain) ConvertToSDKConfig ¶
func (s DogecoinBlockchain) ConvertToSDKConfig(identity constants.ProcessingIdentity) doge.Config
func (DogecoinBlockchain) Validate ¶
func (s DogecoinBlockchain) Validate() error
type EthereumBlockchain ¶
type EthereumBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Node struct { Address string `json:"address" yaml:"address" usage:"node address"` } Attributes struct { MaxGasPrice float64 `yaml:"max_gas_price" json:"max_gas_price" validate:"gte=0" default:"8" usage:"max gas price in Gwei"` } }
func (EthereumBlockchain) GetMaxGasFee ¶
func (s EthereumBlockchain) GetMaxGasFee() float64
GetMaxGassFee returns the max gas fee in Gwei
func (EthereumBlockchain) IsEnabled ¶
func (s EthereumBlockchain) IsEnabled() bool
IsEnabled returns true if the blockchain is enabled
type IEVMConfig ¶
type LineaBlockchain ¶
type LineaBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Node struct { Address string `json:"address" yaml:"address" usage:"node address"` } Attributes struct { MaxGasPrice float64 `yaml:"max_gas_price" json:"max_gas_price" validate:"gte=0" default:"1" usage:"max gas price in Gwei"` } }
func (LineaBlockchain) GetMaxGasFee ¶
func (s LineaBlockchain) GetMaxGasFee() float64
GetMaxGassFee returns the max gas fee in Gwei
func (LineaBlockchain) IsEnabled ¶
func (s LineaBlockchain) IsEnabled() bool
IsEnabled returns true if the blockchain is enabled
type LitecoinBlockchain ¶
type LitecoinBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Attributes struct { FeePerByte int64 `yaml:"fee_per_byte" json:"fee_per_byte" default:"10"` MinUTXOAmount int64 `yaml:"min_utxo_amount" json:"min_utxo_amount" default:"0" usage:"min UTXO amount in satoshi"` } Node struct { Address string `usage:"node address"` Login string `yaml:"login" json:"login" secret:"" usage:"node login"` Secret string `secret:""` UseTLS bool `yaml:"use_tls" json:"use_tls" default:"true" usage:"use TLS for connection"` } }
func (LitecoinBlockchain) ConvertToSDKConfig ¶
func (s LitecoinBlockchain) ConvertToSDKConfig(identity constants.ProcessingIdentity) ltc.Config
func (LitecoinBlockchain) Validate ¶
func (s LitecoinBlockchain) Validate() error
type MerchantAdmin ¶
type MerchantAdmin struct {
BaseURL string `` /* 143-byte string literal not displayed */
}
type OptimismBlockchain ¶
type OptimismBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Node struct { Address string `json:"address" yaml:"address" usage:"node address"` } Attributes struct { MaxGasPrice float64 `yaml:"max_gas_price" json:"max_gas_price" validate:"gte=0" default:"0.001" usage:"max gas price in Gwei"` } }
func (OptimismBlockchain) GetMaxGasFee ¶
func (s OptimismBlockchain) GetMaxGasFee() float64
GetMaxGassFee returns the max gas fee in Gwei
func (OptimismBlockchain) IsEnabled ¶
func (s OptimismBlockchain) IsEnabled() bool
IsEnabled returns true if the blockchain is enabled
type PolygonBlockchain ¶
type PolygonBlockchain struct { Enabled bool `json:"enabled" default:"false"` Network string `yaml:"network" json:"network" validate:"required,oneof=mainnet testnet" default:"mainnet" example:"mainnet / testnet"` Node struct { Address string `json:"address" yaml:"address" usage:"node address"` } Attributes struct { MaxGasPrice float64 `yaml:"max_gas_price" json:"max_gas_price" validate:"gte=0" default:"130" usage:"max gas price in Gwei"` } }
func (PolygonBlockchain) GetMaxGasFee ¶
func (s PolygonBlockchain) GetMaxGasFee() float64
GetMaxGassFee returns the max gas fee in Gwei
func (PolygonBlockchain) IsEnabled ¶
func (s PolygonBlockchain) IsEnabled() bool
IsEnabled returns true if the blockchain is enabled
type ResourceManager ¶
type ResourceManager struct { Enabled bool `yaml:"enabled" default:"false"` Connect connectrpc_client.Config `yaml:"connect" default:"test"` UseActivatorContract bool `yaml:"use_activator_contract" default:"true"` DelegationDuration time.Duration `yaml:"delegation_duration" default:"15s" example:"60s/1m/1h" validate:"gte=15s"` }
func (*ResourceManager) Validate ¶
func (o *ResourceManager) Validate() error
type TronBlockchain ¶
type TronBlockchain struct { Enabled bool `json:"enabled" default:"false"` Node TronNode ActivationContractAddress string `json:"activation_contract_address" yaml:"activation_contract_address" default:"TQuCVz7ZXMwcuT2ERcBYCZzLeNAZofcTgY"` UseBurnTRXActivation bool `json:"use_burn_trx_activation" yaml:"use_burn_trx_activation" default:"true"` }
func (TronBlockchain) ConvertToSDKConfig ¶
func (s TronBlockchain) ConvertToSDKConfig(identity constants.ProcessingIdentity) tron.Config
func (TronBlockchain) Validate ¶
func (s TronBlockchain) Validate() error
type Updater ¶
type Updater struct {
BaseURL string `` /* 142-byte string literal not displayed */
}