blobfactory

package
v2.0.0-rc1 Latest Latest
Warning

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

Go to latest
Published: May 17, 2024 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// TestMaxBlobSize is the maximum size of each blob in a blob transaction, for testing purposes
	TestMaxBlobSize = appconsts.ShareSize * 2 * appconsts.DefaultSquareSizeUpperBound
	// TestMaxBlobCount is the maximum number of blobs in a blob transaction, for testing purposes
	TestMaxBlobCount = 5
)

Functions

func ComplexBlobTxWithOtherMsgs

func ComplexBlobTxWithOtherMsgs(t *testing.T, rand *tmrand.Rand, signer *user.Signer, msgs ...sdk.Msg) coretypes.Tx

func DefaultTxOpts

func DefaultTxOpts() []user.TxOption

func FeeTxOpts

func FeeTxOpts(gas uint64) []user.TxOption

func GenerateManyRandomRawSendTxsSameSigner

func GenerateManyRandomRawSendTxsSameSigner(rand *tmrand.Rand, signer *user.Signer, count int) []coretypes.Tx

GenerateManyRandomRawSendTxsSameSigner generates count many random raw send txs.

func GenerateManyRawSendTxs

func GenerateManyRawSendTxs(signer *user.Signer, count int) []coretypes.Tx

func GenerateRandomAmount

func GenerateRandomAmount(rand *tmrand.Rand) int64

GenerateRandomAmount generates a random amount for a Send transaction.

func GenerateRandomBlobCount

func GenerateRandomBlobCount(rand *tmrand.Rand) int

func GenerateRandomBlobSize

func GenerateRandomBlobSize(rand *tmrand.Rand) int

func GenerateRandomBlobSizes

func GenerateRandomBlobSizes(count int, rand *tmrand.Rand) []int

GenerateRandomBlobSizes returns a slice of random non-zero blob sizes.

func GenerateRandomRawSendTx

func GenerateRandomRawSendTx(rand *tmrand.Rand, signer *user.Signer) (rawTx []byte)

GenerateRandomRawSendTx generates a random raw send tx.

func GenerateRawSendTx

func GenerateRawSendTx(signer *user.Signer, amount int64) []byte

GenerateRawSendTx creates send transactions meant to help test encoding/prepare/process proposal, they are not meant to actually be executed by the state machine. If we want that, we have to update nonce, and send funds to someone other than the same account signing the transaction.

func IndexWrappedTxWithInvalidNamespace

func IndexWrappedTxWithInvalidNamespace(
	t *testing.T,
	rand *tmrand.Rand,
	signer *user.Signer,
	index uint32,
) (coretypes.Tx, *blob.Blob)

IndexWrappedTxWithInvalidNamespace returns an index wrapped PFB tx with an invalid namespace and a blob associated with that index wrapped PFB tx.

func ManyBlobs

func ManyBlobs(rand *tmrand.Rand, namespaces []appns.Namespace, sizes []int) []*blob.Blob

func ManyMultiBlobTx

func ManyMultiBlobTx(
	t *testing.T,
	enc client.TxConfig,
	kr keyring.Keyring,
	chainid string,
	accounts []string,
	accInfos []AccountInfo,
	blobs [][]*blob.Blob,
) [][]byte

func ManyRandBlobs

func ManyRandBlobs(rand *tmrand.Rand, sizes ...int) []*blob.Blob

func NestedBlobs

func NestedBlobs(t *testing.T, namespaces []appns.Namespace, sizes [][]int) [][]*blob.Blob

func RandBlobTxs

func RandBlobTxs(signer *user.Signer, rand *tmrand.Rand, count, blobsPerTx, size int) coretypes.Txs

func RandBlobTxsRandomlySized

func RandBlobTxsRandomlySized(signer *user.Signer, rand *tmrand.Rand, count, maxSize, maxBlobs int) coretypes.Txs

func RandBlobTxsWithAccounts

func RandBlobTxsWithAccounts(
	enc encoding.Config,
	rand *tmrand.Rand,
	kr keyring.Keyring,
	conn *grpc.ClientConn,
	size int,
	blobCount int,
	randSize bool,
	accounts []string,
) []coretypes.Tx

RandBlobTxsWithAccounts will create random blob transactions using the provided configuration. If no grpc connection is provided, then it will not update the account info. One blob transaction is generated per account provided.

func RandBlobTxsWithNamespacesAndSigner

func RandBlobTxsWithNamespacesAndSigner(
	signer *user.Signer,
	namespaces []appns.Namespace,
	sizes []int,
) []coretypes.Tx

func RandBlobsWithNamespace

func RandBlobsWithNamespace(namespaces []appns.Namespace, sizes []int) []*blob.Blob

func RandMsgPayForBlobs

func RandMsgPayForBlobs(rand *tmrand.Rand, size int) (*blobtypes.MsgPayForBlobs, *blob.Blob)

func RandMsgPayForBlobsWithNamespaceAndSigner

func RandMsgPayForBlobsWithNamespaceAndSigner(signer string, ns appns.Namespace, size int) (*blobtypes.MsgPayForBlobs, *blob.Blob)

func RandMsgPayForBlobsWithSigner

func RandMsgPayForBlobsWithSigner(rand *tmrand.Rand, signer string, size, blobCount int) (*blobtypes.MsgPayForBlobs, []*blob.Blob)

func RandMultiBlobTxsSameSigner

func RandMultiBlobTxsSameSigner(t *testing.T, rand *tmrand.Rand, signer *user.Signer, pfbCount int) []coretypes.Tx

RandMultiBlobTxsSameSigner returns a slice of random Blob transactions (consisting of pfbCount number of txs) each with random number of blobs and blob sizes.

func Repeat

func Repeat[T any](s T, count int) []T

Types

type AccountInfo

type AccountInfo struct {
	AccountNum, Sequence uint64
}

func ExtractAccountInfo

func ExtractAccountInfo(accs []authtypes.AccountI) []AccountInfo

Jump to

Keyboard shortcuts

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