diff --git a/sharding/collation.go b/sharding/collation.go index 3ce4b55e3387..e7ec5104a286 100644 --- a/sharding/collation.go +++ b/sharding/collation.go @@ -111,26 +111,6 @@ func (c *Collation) CalculateChunkRoot() { c.header.data.ChunkRoot = &chunkRoot } -// CreateRawBlobs creates raw blobs from transactions. -func (c Collation) CreateRawBlobs() ([]*utils.RawBlob, error) { - - // It does not skip evm execution by default - blobs := make([]*utils.RawBlob, len(c.transactions)) - for i := 0; i < len(c.transactions); i++ { - - err := error(nil) - blobs[i], err = utils.NewRawBlob(c.transactions[i], false) - - if err != nil { - return nil, fmt.Errorf("Creation of raw blobs from transactions failed: %v", err) - } - - } - - return blobs, nil - -} - // ConvertBackToTx converts raw blobs back to their original transactions. func ConvertBackToTx(rawBlobs []utils.RawBlob) ([]*types.Transaction, error) { @@ -149,33 +129,33 @@ func ConvertBackToTx(rawBlobs []utils.RawBlob) ([]*types.Transaction, error) { } -// Serialize method serializes the collation body to a byte array. -func (c *Collation) Serialize() ([]byte, error) { - - blobs, err := c.CreateRawBlobs() +// SerializeTxToBlob method serializes the input tx +// and returns the blobs in byte array. +func SerializeTxToBlob(txs []*types.Transaction) ([]byte, error) { - if err != nil { - return nil, fmt.Errorf("%v", err) + blobs := make([]*utils.RawBlob, len(txs)) + for i := 0; i < len(txs); i++ { + err := error(nil) + blobs[i], err = utils.NewRawBlob(txs[i], false) + if err != nil { + return nil, fmt.Errorf("%v", err) + } } - serializedTx, err := utils.Serialize(blobs) - if err != nil { return nil, fmt.Errorf("%v", err) } if int64(len(serializedTx)) > collationSizelimit { - return nil, fmt.Errorf("The serialized body exceeded the collation size limit: %v", serializedTx) - } return serializedTx, nil - } -// Deserialize takes a byte array and converts its back to its original transactions. -func Deserialize(serialisedBlob []byte) (*[]*types.Transaction, error) { +// DeserializeBlobToTx takes byte array blob and converts it back +// to original txs and returns the txs in tx array. +func DeserializeBlobToTx(serialisedBlob []byte) (*[]*types.Transaction, error) { deserializedBlobs, err := utils.Deserialize(serialisedBlob) if err != nil { diff --git a/sharding/collation_test.go b/sharding/collation_test.go index c0e4cb7355b0..f3c896e2bfef 100644 --- a/sharding/collation_test.go +++ b/sharding/collation_test.go @@ -56,13 +56,13 @@ func TestSerialize_Deserialize(t *testing.T) { tx := c.transactions - results, err := c.Serialize() + results, err := SerializeTxToBlob(tx) if err != nil { t.Errorf("Unable to Serialize transactions, %v", err) } - deserializedTxs, err := Deserialize(results) + deserializedTxs, err := DeserializeBlobToTx(results) if err != nil { t.Errorf("Unable to deserialize collation body, %v", err)