package api import ( "math/big" "strconv" "time" ethCommon "github.com/ethereum/go-ethereum/common" "github.com/hermeznetwork/hermez-node/common" "github.com/iden3/go-merkletree" ) func AddAditionalInformation(blocks []common.BlockData) { for i := range blocks { blocks[i].Block.Timestamp = time.Now().Add(time.Second * 13).UTC() blocks[i].Block.Hash = ethCommon.BigToHash(big.NewInt(blocks[i].Block.EthBlockNum)) for j := range blocks[i].Rollup.AddedTokens { blocks[i].Rollup.AddedTokens[j].Name = "NAME" + strconv.Itoa(int(blocks[i].Rollup.AddedTokens[j].TokenID)) blocks[i].Rollup.AddedTokens[j].Symbol = strconv.Itoa(int(blocks[i].Rollup.AddedTokens[j].TokenID)) blocks[i].Rollup.AddedTokens[j].Decimals = uint64(blocks[i].Rollup.AddedTokens[j].TokenID + 1) } for x := range blocks[i].Rollup.Batches { for q := range blocks[i].Rollup.Batches[x].CreatedAccounts { blocks[i].Rollup.Batches[x].CreatedAccounts[q].Balance = big.NewInt(int64(blocks[i].Rollup.Batches[x].CreatedAccounts[q].Idx * 10000000)) } for y := range blocks[i].Rollup.Batches[x].ExitTree { blocks[i].Rollup.Batches[x].ExitTree[y].MerkleProof = &merkletree.CircomVerifierProof{ Root: &merkletree.Hash{byte(y), byte(y + 1)}, Siblings: []*merkletree.Hash{ merkletree.NewHashFromBigInt(big.NewInt(int64(y) * 10)), merkletree.NewHashFromBigInt(big.NewInt(int64(y)*100 + 1)), merkletree.NewHashFromBigInt(big.NewInt(int64(y)*1000 + 2))}, OldKey: &merkletree.Hash{byte(y * 1), byte(y*1 + 1)}, OldValue: &merkletree.Hash{byte(y * 2), byte(y*2 + 1)}, IsOld0: y%2 == 0, Key: &merkletree.Hash{byte(y * 3), byte(y*3 + 1)}, Value: &merkletree.Hash{byte(y * 4), byte(y*4 + 1)}, Fnc: y % 2, } } } } }