tx

package
v0.24.0 Latest Latest
Warning

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

Go to latest
Published: Nov 28, 2024 License: LGPL-3.0 Imports: 23 Imported by: 0

Documentation

Overview

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/lyfeblocnetwork/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/lyfeblocnetwork/ethermint/blob/main/LICENSE

Copyright 2021 Evmos Foundation This file is part of Evmos' Ethermint library.

The Ethermint library is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Ethermint library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the Ethermint library. If not, see https://github.com/lyfeblocnetwork/ethermint/blob/main/LICENSE

Index

Constants

This section is empty.

Variables

Functions

func CreateEIP712CosmosTx

func CreateEIP712CosmosTx(
	ctx sdk.Context,
	appEthermint *app.EthermintApp,
	args EIP712TxArgs,
) (sdk.Tx, error)

CreateEIP712CosmosTx creates a cosmos tx for typed data according to EIP712. Also, signs the tx with the provided messages and private key. It returns the signed transaction and an error

func NewSigner

func NewSigner(sk cryptotypes.PrivKey) keyring.Signer

func PrepareCosmosTx

func PrepareCosmosTx(
	ctx sdk.Context,
	appEthermint *app.EthermintApp,
	args CosmosTxArgs,
) (authsigning.Tx, error)

PrepareCosmosTx creates a cosmos tx and signs it with the provided messages and private key. It returns the signed transaction and an error

func PrepareEIP712CosmosTx

func PrepareEIP712CosmosTx(
	ctx sdk.Context,
	appEthermint *app.EthermintApp,
	args EIP712TxArgs,
) (client.TxBuilder, error)

PrepareEIP712CosmosTx creates a cosmos tx for typed data according to EIP712. Also, signs the tx with the provided messages and private key. It returns the tx builder with the signed transaction and an error

Types

type CosmosTxArgs

type CosmosTxArgs struct {
	// TxCfg is the client transaction config
	TxCfg client.TxConfig
	// Priv is the private key that will be used to sign the tx
	Priv cryptotypes.PrivKey
	// ChainID is the chain's id on cosmos format, e.g. 'ethermint_9000-1'
	ChainID string
	// Gas to be used on the tx
	Gas uint64
	// GasPrice to use on tx
	GasPrice *sdkmath.Int
	// Fees is the fee to be used on the tx (amount and denom)
	Fees sdk.Coins
	// FeeGranter is the account address of the fee granter
	FeeGranter sdk.AccAddress
	// Msgs slice of messages to include on the tx
	Msgs []sdk.Msg
}

CosmosTxArgs contains the params to create a cosmos tx

type EIP712TxArgs

type EIP712TxArgs struct {
	CosmosTxArgs       CosmosTxArgs
	UseLegacyTypedData bool
	UseLegacyExtension bool
}

type Signer

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

Signer defines a type that is used on testing for signing MsgEthereumTx

func (Signer) Sign

func (s Signer) Sign(_ string, msg []byte) ([]byte, cryptotypes.PubKey, error)

Sign signs the message using the underlying private key

func (Signer) SignByAddress

func (s Signer) SignByAddress(address sdk.Address, msg []byte) ([]byte, cryptotypes.PubKey, error)

SignByAddress sign byte messages with a user key providing the address.

Jump to

Keyboard shortcuts

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