signer

package
v0.0.0-...-70e280b Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2024 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EndpointFlagName = "signer.endpoint"
	AddressFlagName  = "signer.address"
)

Variables

This section is empty.

Functions

func CLIFlags

func CLIFlags(envPrefix string) []cli.Flag

Types

type CLIConfig

type CLIConfig struct {
	Endpoint  string
	Address   string
	TLSConfig optls.CLIConfig
}

func NewCLIConfig

func NewCLIConfig() CLIConfig

func ReadCLIConfig

func ReadCLIConfig(ctx *cli.Context) CLIConfig

func (CLIConfig) Check

func (c CLIConfig) Check() error

func (CLIConfig) Enabled

func (c CLIConfig) Enabled() bool

type SignerClient

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

func NewSignerClient

func NewSignerClient(logger log.Logger, endpoint string, tlsConfig optls.CLIConfig) (*SignerClient, error)

func NewSignerClientFromConfig

func NewSignerClientFromConfig(logger log.Logger, config CLIConfig) (*SignerClient, error)

func (*SignerClient) SignTransaction

func (s *SignerClient) SignTransaction(ctx context.Context, chainId *big.Int, from common.Address, tx *types.Transaction) (*types.Transaction, error)

type TransactionArgs

type TransactionArgs struct {
	From                 *common.Address `json:"from"`
	To                   *common.Address `json:"to"`
	Gas                  *hexutil.Uint64 `json:"gas"`
	GasPrice             *hexutil.Big    `json:"gasPrice"`
	MaxFeePerGas         *hexutil.Big    `json:"maxFeePerGas"`
	MaxPriorityFeePerGas *hexutil.Big    `json:"maxPriorityFeePerGas"`
	Value                *hexutil.Big    `json:"value"`
	Nonce                *hexutil.Uint64 `json:"nonce"`

	// We accept "data" and "input" for backwards-compatibility reasons.
	// "input" is the newer name and should be preferred by clients.
	// Issue detail: https://github.com/ethereum/go-ethereum/issues/15628
	Data  *hexutil.Bytes `json:"data"`
	Input *hexutil.Bytes `json:"input"`

	AccessList *types.AccessList `json:"accessList,omitempty"`
	ChainID    *hexutil.Big      `json:"chainId,omitempty"`

	// Custom extension for EIP-4844 support
	BlobVersionedHashes []common.Hash `json:"blobVersionedHashes,omitempty"`
	BlobFeeCap          *hexutil.Big  `json:"maxFeePerBlobGas,omitempty"`
}

TransactionArgs represents the arguments to construct a new transaction or a message call. Geth has an internal version of this, but this is not exported, and only supported in v1.13.11 and forward. This signing API format is based on the legacy personal-account signing RPC of ethereum.

func NewTransactionArgsFromTransaction

func NewTransactionArgsFromTransaction(chainId *big.Int, from *common.Address, tx *types.Transaction) *TransactionArgs

NewTransactionArgsFromTransaction creates a TransactionArgs struct from an EIP-1559 or EIP-4844 transaction

func (*TransactionArgs) Check

func (args *TransactionArgs) Check() error

func (*TransactionArgs) ToTransactionData

func (args *TransactionArgs) ToTransactionData() (types.TxData, error)

ToTransactionData converts the arguments to transaction content-data. Warning: this excludes blob data.

Jump to

Keyboard shortcuts

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