 Documentation
      ¶
      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 ¶
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 */
}
     Click to show internal directories. 
   Click to hide internal directories.