Merge pull request #187 from hermeznetwork/feature/ethclient15-sc

Update ethclient rollup iteration 2
This commit is contained in:
arnau
2020-10-09 12:17:06 +02:00
committed by GitHub
11 changed files with 332 additions and 77 deletions

View File

@@ -150,8 +150,9 @@ func (tx *L1Tx) Tx() *Tx {
func (tx *L1Tx) Bytes() ([]byte, error) {
var b [L1TxBytesLen]byte
copy(b[0:20], tx.FromEthAddr.Bytes())
pkComp := tx.FromBJJ.Compress()
copy(b[20:52], pkComp[:])
pkCompL := tx.FromBJJ.Compress()
pkCompB := SwapEndianness(pkCompL[:])
copy(b[20:52], pkCompB[:])
fromIdxBytes, err := tx.FromIdx.Bytes()
if err != nil {
return nil, err
@@ -185,8 +186,9 @@ func (tx *L1Tx) BytesCoordinatorTx(compressedSignatureBytes []byte) ([]byte, err
b[0] = v
copy(b[1:33], s)
copy(b[33:65], r)
pkComp := tx.FromBJJ.Compress()
copy(b[65:97], pkComp[:])
pkCompL := tx.FromBJJ.Compress()
pkCompB := SwapEndianness(pkCompL[:])
copy(b[65:97], pkCompB[:])
copy(b[97:101], tx.TokenID.Bytes())
return b[:], nil
}
@@ -200,10 +202,13 @@ func L1TxFromBytes(b []byte) (*L1Tx, error) {
tx := &L1Tx{}
var err error
tx.FromEthAddr = ethCommon.BytesToAddress(b[0:20])
pkCompB := b[20:52]
pkCompL := SwapEndianness(pkCompB)
var pkComp babyjub.PublicKeyComp
copy(pkComp[:], pkCompB)
copy(pkComp[:], pkCompL)
tx.FromBJJ, err = pkComp.Decompress()
if err != nil {
return nil, err
}
@@ -243,8 +248,9 @@ func L1TxFromCoordinatorBytes(b []byte) (*L1Tx, error) {
r := b[33:65]
pkCompB := b[65:97]
pkCompL := SwapEndianness(pkCompB)
var pkComp babyjub.PublicKeyComp
copy(pkComp[:], pkCompB)
copy(pkComp[:], pkCompL)
tx.FromBJJ, err = pkComp.Decompress()
if err != nil {
return nil, err