binutils

package
v1.21.41 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2025 License: BSD-3-Clause Imports: 37 Imported by: 0

Documentation

Overview

Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Copyright (C) 2022-2025, Lux Industries Inc. All rights reserved. See the file LICENSE for licensing terms.

Index

Constants

This section is empty.

Variables

View Source
var ErrGRPCTimeout = errors.New("timed out trying to contact backend controller, it is most probably not running")

ErrGRPCTimeout is a common error message if the gRPC server can't be reached

Functions

func CopyFile

func CopyFile(src, dest string) error

func DownloadReleaseVersion deprecated

func DownloadReleaseVersion(
	log luxlog.Logger,
	repo,
	version,
	binDir string,
) (string, error)

DownloadReleaseVersion returns the latest available version from github for the given repo and version, and installs it into the apps `bin` dir. NOTE: If any of the underlying URLs change (github changes, release file names, etc.) this fails The goal MUST be to have some sort of mature binary management

Deprecated: Use GetLatestReleaseVersion

func GetAsyncContext

func GetAsyncContext() context.Context

GetAsyncContext returns a timeout context with the cancel function suppressed

func GetBackendLogFile

func GetBackendLogFile(app *application.Lux) (string, error)

func GetGithubLatestReleaseURL

func GetGithubLatestReleaseURL(org, repo string) string

func GetServerPID

func GetServerPID(app *application.Lux) (int, error)

func InstallArchive

func InstallArchive(ext string, archive []byte, binDir string) error

InstallArchive installs the binary archive downloaded

func InstallBinary

func InstallBinary(
	app *application.Lux,
	version string,
	baseBinDir string,
	installDir string,
	binPrefix,
	org,
	repo string,
	downloader GithubDownloader,
	installer Installer,
) (string, error)

func KillgRPCServerProcess

func KillgRPCServerProcess(app *application.Lux) error

func NewGRPCClient

func NewGRPCClient(opts ...GRPCClientOpOption) (client.Client, error)

NewGRPCClient hides away the details (params) of creating a gRPC server connection

func NewGRPCServer

func NewGRPCServer(snapshotsDir string) (server.Server, error)

NewGRPCClient hides away the details (params) of creating a gRPC server

func NewLedgerAdapter

func NewLedgerAdapter() (keychain.Ledger, error)

NewLedgerAdapter creates a new ledger adapter

func NewLoggerAdapter

func NewLoggerAdapter(logger log.Logger) log.Logger

NewLoggerAdapter returns the logger directly since luxfi/log.Logger already implements the interface

func SetupCustomBin

func SetupCustomBin(app *application.Lux, subnetName string) string

func SetupEVM

func SetupEVM(app *application.Lux, evmVersion string) (string, error)

func SetupLPMBin

func SetupLPMBin(app *application.Lux, vmid string) string

func SetupLux

func SetupLux(app *application.Lux, luxdVersion string) (string, error)

SetupLux is an alias for SetupLuxgo for backward compatibility

func SetupLuxgo

func SetupLuxgo(app *application.Lux, luxdVersion string) (string, error)

func StartServerProcess

func StartServerProcess(app *application.Lux) error

StartServerProcess starts the gRPC server as a reentrant process of this binary it just executes `cli backend start`

func UpdateLocalSidecarRPC

func UpdateLocalSidecarRPC(app *application.Lux, sc models.Sidecar, rpcVersion int) error

update the RPC version of the VM in the sidecar file

func UpgradeVM

func UpgradeVM(app *application.Lux, vmID string, vmBinPath string) error

func WatchServerProcess

func WatchServerProcess(serverCancel context.CancelFunc, errc chan error, logger luxlog.Logger)

Types

type BinaryChecker

type BinaryChecker interface {
	ExistsWithVersion(name, binaryPrefix, version string) (bool, error)
}

func NewBinaryChecker

func NewBinaryChecker() BinaryChecker

type GRPCClientOp

type GRPCClientOp struct {
	// contains filtered or unexported fields
}

type GRPCClientOpOption

type GRPCClientOpOption func(*GRPCClientOp)

func WithAvoidRPCVersionCheck

func WithAvoidRPCVersionCheck(avoidRPCVersionCheck bool) GRPCClientOpOption

type GithubDownloader

type GithubDownloader interface {
	GetDownloadURL(version string, installer Installer) (string, string, error)
}

func NewEVMDownloader

func NewEVMDownloader() GithubDownloader

func NewLuxDownloader

func NewLuxDownloader() GithubDownloader

func NewLuxdDownloader

func NewLuxdDownloader() GithubDownloader

NewLuxdDownloader is an alias for NewLuxDownloader for compatibility

type Installer

type Installer interface {
	GetArch() (string, string)
}

func NewInstaller

func NewInstaller() Installer

type LedgerAdapter

type LedgerAdapter struct {
	// contains filtered or unexported fields
}

LedgerAdapter wraps ledger.LedgerLux to implement keychain.Ledger interface

func (*LedgerAdapter) Address

func (l *LedgerAdapter) Address(displayHRP string, addressIndex uint32) (ids.ShortID, error)

Address returns a single address at the given index

func (*LedgerAdapter) Addresses

func (l *LedgerAdapter) Addresses(addressIndices []uint32) ([]ids.ShortID, error)

Addresses returns multiple addresses at the given indices

func (*LedgerAdapter) Disconnect

func (l *LedgerAdapter) Disconnect() error

Disconnect closes the connection to the ledger device

func (*LedgerAdapter) GetAddresses added in v1.9.4

func (l *LedgerAdapter) GetAddresses(addressIndices []uint32) ([]ids.ShortID, error)

GetAddresses is an alias for Addresses to satisfy the interface

func (*LedgerAdapter) Sign

func (l *LedgerAdapter) Sign(unsignedTxBytes []byte, addressIndex uint32) ([]byte, error)

Sign signs transaction bytes with a single address index

func (*LedgerAdapter) SignHash

func (l *LedgerAdapter) SignHash(hash []byte, addressIndex uint32) ([]byte, error)

SignHash signs a hash with a single address index

func (*LedgerAdapter) SignTransaction added in v1.9.4

func (l *LedgerAdapter) SignTransaction(unsignedTxBytes []byte, addressIndices []uint32) ([][]byte, error)

SignTransaction signs transaction bytes with multiple address indices

func (*LedgerAdapter) Version

func (l *LedgerAdapter) Version() (*version.Semantic, error)

Version returns the app version

type PluginBinaryDownloader

type PluginBinaryDownloader interface {
	InstallVM(vmID, vmBin string) error
	UpgradeVM(vmID, vmBin string) error
	RemoveVM(vmID string) error
}

func NewPluginBinaryDownloader

func NewPluginBinaryDownloader(app *application.Lux) PluginBinaryDownloader

type ProcessChecker

type ProcessChecker interface {
	// IsServerProcessRunning returns true if the gRPC server is running,
	// or false if not
	IsServerProcessRunning(app *application.Lux) (bool, error)
}

ProcessChecker is responsible for checking if the gRPC server is running

func NewProcessChecker

func NewProcessChecker() ProcessChecker

NewProcessChecker creates a new process checker which can respond if the server is running

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL