removed fmt prints, created types file and fixed UI

This commit is contained in:
Dustin Brickwood 2018-08-08 17:43:56 -04:00
parent ba48ad13e9
commit a37f60d6a3
15 changed files with 370 additions and 260 deletions

View file

@ -18,16 +18,20 @@ package core
import ( import (
"bytes" "bytes"
"database/sql"
"encoding/hex" "encoding/hex"
"encoding/json" "encoding/json"
"errors" "errors"
"fmt" "fmt"
"math/big" "math/big"
"strconv"
"strings" "strings"
"database/sql" "time"
"github.com/ShyftNetwork/go-empyrean/common" "github.com/ShyftNetwork/go-empyrean/common"
"github.com/ShyftNetwork/go-empyrean/common/hexutil" "github.com/ShyftNetwork/go-empyrean/common/hexutil"
"github.com/ShyftNetwork/go-empyrean/common/math" "github.com/ShyftNetwork/go-empyrean/common/math"
stypes "github.com/ShyftNetwork/go-empyrean/core/sTypes"
"github.com/ShyftNetwork/go-empyrean/core/state" "github.com/ShyftNetwork/go-empyrean/core/state"
"github.com/ShyftNetwork/go-empyrean/core/types" "github.com/ShyftNetwork/go-empyrean/core/types"
"github.com/ShyftNetwork/go-empyrean/ethdb" "github.com/ShyftNetwork/go-empyrean/ethdb"
@ -35,8 +39,6 @@ import (
"github.com/ShyftNetwork/go-empyrean/params" "github.com/ShyftNetwork/go-empyrean/params"
"github.com/ShyftNetwork/go-empyrean/rlp" "github.com/ShyftNetwork/go-empyrean/rlp"
_ "github.com/lib/pq" _ "github.com/lib/pq"
"strconv"
"time"
) )
//go:generate gencodec -type Genesis -field-override genesisSpecMarshaling -out gen_genesis.go //go:generate gencodec -type Genesis -field-override genesisSpecMarshaling -out gen_genesis.go
@ -168,7 +170,7 @@ func WriteShyftGen(gen *Genesis, block *types.Block) {
} }
age := time.Unix(i, 0) age := time.Unix(i, 0)
txData := ShyftTxEntryPretty { txData := stypes.ShyftTxEntryPretty{
TxHash: txHash, TxHash: txHash,
From: GENESIS, From: GENESIS,
To: toAddr, To: toAddr,
@ -191,9 +193,11 @@ func WriteShyftGen(gen *Genesis, block *types.Block) {
default: default:
log.Info("Found Genesis Block") log.Info("Found Genesis Block")
}} }
}
} }
//WriteShyftBlockZero writes block 0 to postgres db
func WriteShyftBlockZero(block *types.Block, gen *Genesis) error { func WriteShyftBlockZero(block *types.Block, gen *Genesis) error {
sqldb, _ := DBConnection() sqldb, _ := DBConnection()
@ -203,7 +207,7 @@ func WriteShyftBlockZero(block *types.Block, gen *Genesis) error {
} }
age := time.Unix(i, 0) age := time.Unix(i, 0)
blockData := SBlock{ blockData := stypes.SBlock{
Hash: block.Header().Hash().Hex(), Hash: block.Header().Hash().Hex(),
Coinbase: block.Header().Coinbase.String(), Coinbase: block.Header().Coinbase.String(),
Number: block.Header().Number.String(), Number: block.Header().Number.String(),

92
core/sTypes/stypes.go Normal file
View file

@ -0,0 +1,92 @@
package stypes
import (
"time"
"github.com/ShyftNetwork/go-empyrean/common"
)
//SBlock type
type SBlock struct {
Hash string
Coinbase string
AgeGet string
Age time.Time
ParentHash string
UncleHash string
Difficulty string
Size string
Rewards string
Number string
GasUsed uint64
GasLimit uint64
Nonce uint64
TxCount int
UncleCount int
Blocks []SBlock
}
type InteralWrite struct {
Hash string
Type string
From string
To string
Value string
Gas uint64
GasUsed uint64
Input string
Output string
Time string
}
//blockRes struct
type BlockRes struct {
hash string
coinbase string
number string
Blocks []SBlock
}
type SAccounts struct {
Addr string
Balance string
AccountNonce string
}
type AccountRes struct {
addr string
balance string
AllAccounts []SAccounts
}
type TxRes struct {
TxEntry []ShyftTxEntryPretty
}
type ShyftTxEntryPretty struct {
TxHash string
To *common.Address
ToGet string
From string
BlockHash string
BlockNumber string
Amount string
GasPrice uint64
Gas uint64
GasLimit uint64
Cost uint64
Nonce uint64
Status string
IsContract bool
Age time.Time
Data []byte
}
type SendAndReceive struct {
To string
From string
Amount string
Address string
Balance string
AccountNonce uint64 `json:",string"`
}

View file

@ -11,103 +11,106 @@ import (
"github.com/ShyftNetwork/go-empyrean/common" "github.com/ShyftNetwork/go-empyrean/common"
Rewards "github.com/ShyftNetwork/go-empyrean/consensus/ethash" Rewards "github.com/ShyftNetwork/go-empyrean/consensus/ethash"
stypes "github.com/ShyftNetwork/go-empyrean/core/sTypes"
"github.com/ShyftNetwork/go-empyrean/core/types" "github.com/ShyftNetwork/go-empyrean/core/types"
"github.com/ShyftNetwork/go-empyrean/shyfttracerinterface" "github.com/ShyftNetwork/go-empyrean/shyfttracerinterface"
_ "github.com/lib/pq" _ "github.com/lib/pq"
) )
//IShyftTracer Used to initialize ShyftTracer
var IShyftTracer shyfttracerinterface.IShyftTracer var IShyftTracer shyfttracerinterface.IShyftTracer
//SetIShyftTracer sets tracer type
func SetIShyftTracer(st shyfttracerinterface.IShyftTracer) { func SetIShyftTracer(st shyfttracerinterface.IShyftTracer) {
IShyftTracer = st IShyftTracer = st
} }
//SBlock type // //SBlock type
type SBlock struct { // type SBlock struct {
Hash string // Hash string
Coinbase string // Coinbase string
AgeGet string // AgeGet string
Age time.Time // Age time.Time
ParentHash string // ParentHash string
UncleHash string // UncleHash string
Difficulty string // Difficulty string
Size string // Size string
Rewards string // Rewards string
Number string // Number string
GasUsed uint64 // GasUsed uint64
GasLimit uint64 // GasLimit uint64
Nonce uint64 // Nonce uint64
TxCount int // TxCount int
UncleCount int // UncleCount int
Blocks []SBlock // Blocks []SBlock
} // }
type InteralWrite struct { // type InteralWrite struct {
Hash string // Hash string
Type string // Type string
From string // From string
To string // To string
Value string // Value string
Gas uint64 // Gas uint64
GasUsed uint64 // GasUsed uint64
Input string // Input string
Output string // Output string
Time string // Time string
} // }
//blockRes struct // //blockRes struct
type blockRes struct { // // type blockRes struct {
hash string // // hash string
coinbase string // // coinbase string
number string // // number string
Blocks []SBlock // // Blocks []SBlock
} // // }
type SAccounts struct { // type SAccounts struct {
Addr string // Addr string
Balance string // Balance string
AccountNonce string // AccountNonce string
} // }
type accountRes struct { // type accountRes struct {
addr string // addr string
balance string // balance string
AllAccounts []SAccounts // AllAccounts []SAccounts
} // }
type txRes struct { // type txRes struct {
TxEntry []ShyftTxEntryPretty // TxEntry []ShyftTxEntryPretty
} // }
type ShyftTxEntryPretty struct { // type ShyftTxEntryPretty struct {
TxHash string // TxHash string
To *common.Address // To *common.Address
ToGet string // ToGet string
From string // From string
BlockHash string // BlockHash string
BlockNumber string // BlockNumber string
Amount string // Amount string
GasPrice uint64 // GasPrice uint64
Gas uint64 // Gas uint64
GasLimit uint64 // GasLimit uint64
Cost uint64 // Cost uint64
Nonce uint64 // Nonce uint64
Status string // Status string
IsContract bool // IsContract bool
Age time.Time // Age time.Time
Data []byte // Data []byte
} // }
type SendAndReceive struct { // type SendAndReceive struct {
To string // To string
From string // From string
Amount string // Amount string
Address string // Address string
Balance string // Balance string
AccountNonce uint64 `json:",string"` // AccountNonce uint64 `json:",string"`
} // }
//WriteBlock writes to block info to sql db //SWriteBlock writes to block info to sql db
func SWriteBlock(block *types.Block, receipts []*types.Receipt) error { func SWriteBlock(block *types.Block, receipts []*types.Receipt) error {
sqldb, err := DBConnection() sqldb, err := DBConnection()
if err != nil { if err != nil {
@ -123,7 +126,7 @@ func SWriteBlock(block *types.Block, receipts []*types.Receipt) error {
} }
age := time.Unix(i, 0) age := time.Unix(i, 0)
blockData := SBlock{ blockData := stypes.SBlock{
Hash: block.Header().Hash().Hex(), Hash: block.Header().Hash().Hex(),
Coinbase: block.Header().Coinbase.String(), Coinbase: block.Header().Coinbase.String(),
Number: block.Header().Number.String(), Number: block.Header().Number.String(),
@ -185,7 +188,7 @@ func swriteTransactions(sqldb *sql.DB, tx *types.Transaction, blockHash common.H
toAddr = tx.To() toAddr = tx.To()
} }
txData := ShyftTxEntryPretty{ txData := stypes.ShyftTxEntryPretty{
TxHash: tx.Hash().Hex(), TxHash: tx.Hash().Hex(),
From: tx.From().Hex(), From: tx.From().Hex(),
To: toAddr, To: toAddr,
@ -212,7 +215,7 @@ func swriteTransactions(sqldb *sql.DB, tx *types.Transaction, blockHash common.H
//SWriteInternalTxBalances Writes internal txs and updates balances //SWriteInternalTxBalances Writes internal txs and updates balances
func SWriteInternalTxBalances(sqldb *sql.DB, toAddr string, fromAddr string, amount string) error { func SWriteInternalTxBalances(sqldb *sql.DB, toAddr string, fromAddr string, amount string) error {
sendAndReceiveData := SendAndReceive{ sendAndReceiveData := stypes.SendAndReceive{
To: toAddr, To: toAddr,
From: fromAddr, From: fromAddr,
Amount: amount, Amount: amount,
@ -233,11 +236,12 @@ func SWriteInternalTxBalances(sqldb *sql.DB, toAddr string, fromAddr string, amo
return nil return nil
} }
func adjustBalanceFromAddr(sqldb *sql.DB, s SendAndReceive, value *big.Int) { func adjustBalanceFromAddr(sqldb *sql.DB, s stypes.SendAndReceive, value *big.Int) {
fromAddressBalance, fromAccountNonce, err := AccountExists(sqldb, s.From) fromAddressBalance, fromAccountNonce, err := AccountExists(sqldb, s.From)
switch { switch {
case err == sql.ErrNoRows: case err == sql.ErrNoRows:
fmt.Println("Need to write From", s.From) CreateAccount(sqldb, s.From, "0", "1")
fmt.Println("New From account created")
} }
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
@ -257,7 +261,7 @@ func adjustBalanceFromAddr(sqldb *sql.DB, s SendAndReceive, value *big.Int) {
UpdateAccount(sqldb, s.From, newBalanceSender.String(), newAccountNonceSender.String()) UpdateAccount(sqldb, s.From, newBalanceSender.String(), newAccountNonceSender.String())
} }
func balanceHelper(sqldb *sql.DB, s SendAndReceive, amount string) { func balanceHelper(sqldb *sql.DB, s stypes.SendAndReceive, amount string) {
fromAddressBalance, fromAccountNonce, err := AccountExists(sqldb, s.From) fromAddressBalance, fromAccountNonce, err := AccountExists(sqldb, s.From)
toAddressBalance, toAccountNonce, err := AccountExists(sqldb, s.To) toAddressBalance, toAccountNonce, err := AccountExists(sqldb, s.To)
if err != nil { if err != nil {
@ -383,6 +387,8 @@ func sstoreReward(sqldb *sql.DB, address string, reward *big.Int) {
/////////////////////// ///////////////////////
//DB Utility functions //DB Utility functions
////////////////////// //////////////////////
//CreateAccount writes new account to Postgres Db
func CreateAccount(sqldb *sql.DB, addr string, balance string, accountNonce string) { func CreateAccount(sqldb *sql.DB, addr string, balance string, accountNonce string) {
sqlStatement := `INSERT INTO accounts(addr, balance, accountNonce) VALUES(($1), ($2), ($3)) RETURNING addr` sqlStatement := `INSERT INTO accounts(addr, balance, accountNonce) VALUES(($1), ($2), ($3)) RETURNING addr`
insertErr := sqldb.QueryRow(sqlStatement, strings.ToLower(addr), balance, accountNonce).Scan(&addr) insertErr := sqldb.QueryRow(sqlStatement, strings.ToLower(addr), balance, accountNonce).Scan(&addr)
@ -391,6 +397,7 @@ func CreateAccount(sqldb *sql.DB, addr string, balance string, accountNonce stri
} }
} }
//AccountExists checks if account exists in Postgres Db
func AccountExists(sqldb *sql.DB, addr string) (string, string, error) { func AccountExists(sqldb *sql.DB, addr string) (string, string, error) {
var addressBalance, accountNonce string var addressBalance, accountNonce string
sqlExistsStatement := `SELECT balance, accountNonce from accounts WHERE addr = ($1)` sqlExistsStatement := `SELECT balance, accountNonce from accounts WHERE addr = ($1)`
@ -405,6 +412,7 @@ func AccountExists(sqldb *sql.DB, addr string) (string, string, error) {
} }
} }
//BlockExists checks if block exists in Postgres Db
func BlockExists(sqldb *sql.DB, hash string) error { func BlockExists(sqldb *sql.DB, hash string) error {
var res string var res string
sqlExistsStatement := `SELECT hash from blocks WHERE hash= ($1)` sqlExistsStatement := `SELECT hash from blocks WHERE hash= ($1)`
@ -418,6 +426,7 @@ func BlockExists(sqldb *sql.DB, hash string) error {
} }
} }
//UpdateAccount updates account in Postgres Db
func UpdateAccount(sqldb *sql.DB, addr string, balance string, accountNonce string) { func UpdateAccount(sqldb *sql.DB, addr string, balance string, accountNonce string) {
updateSQLStatement := `UPDATE accounts SET balance = ($2), accountNonce = ($3) WHERE addr = ($1)` updateSQLStatement := `UPDATE accounts SET balance = ($2), accountNonce = ($3) WHERE addr = ($1)`
_, updateErr := sqldb.Exec(updateSQLStatement, strings.ToLower(addr), balance, accountNonce) _, updateErr := sqldb.Exec(updateSQLStatement, strings.ToLower(addr), balance, accountNonce)
@ -426,7 +435,8 @@ func UpdateAccount(sqldb *sql.DB, addr string, balance string, accountNonce stri
} }
} }
func InsertBlock(sqldb *sql.DB, blockData SBlock) { //InsertBlock writes block to Postgres Db
func InsertBlock(sqldb *sql.DB, blockData stypes.SBlock) {
sqlStatement := `INSERT INTO blocks(hash, coinbase, number, gasUsed, gasLimit, txCount, uncleCount, age, parentHash, uncleHash, difficulty, size, rewards, nonce) VALUES(($1), ($2), ($3), ($4), ($5), ($6), ($7), ($8), ($9), ($10), ($11), ($12),($13), ($14)) RETURNING number` sqlStatement := `INSERT INTO blocks(hash, coinbase, number, gasUsed, gasLimit, txCount, uncleCount, age, parentHash, uncleHash, difficulty, size, rewards, nonce) VALUES(($1), ($2), ($3), ($4), ($5), ($6), ($7), ($8), ($9), ($10), ($11), ($12),($13), ($14)) RETURNING number`
qerr := sqldb.QueryRow(sqlStatement, strings.ToLower(blockData.Hash), blockData.Coinbase, blockData.Number, blockData.GasUsed, blockData.GasLimit, blockData.TxCount, blockData.UncleCount, blockData.Age, blockData.ParentHash, blockData.UncleHash, blockData.Difficulty, blockData.Size, blockData.Rewards, blockData.Nonce).Scan(&blockData.Number) qerr := sqldb.QueryRow(sqlStatement, strings.ToLower(blockData.Hash), blockData.Coinbase, blockData.Number, blockData.GasUsed, blockData.GasLimit, blockData.TxCount, blockData.UncleCount, blockData.Age, blockData.ParentHash, blockData.UncleHash, blockData.Difficulty, blockData.Size, blockData.Rewards, blockData.Nonce).Scan(&blockData.Number)
if qerr != nil { if qerr != nil {
@ -434,7 +444,8 @@ func InsertBlock(sqldb *sql.DB, blockData SBlock) {
} }
} }
func InsertTx(sqldb *sql.DB, txData ShyftTxEntryPretty) { //InsertTx writes tx to Postgres Db
func InsertTx(sqldb *sql.DB, txData stypes.ShyftTxEntryPretty) {
var retNonce string var retNonce string
sqlStatement := `INSERT INTO txs(txhash, from_addr, to_addr, blockhash, blockNumber, amount, gasprice, gas, gasLimit, txfee, nonce, isContract, txStatus, age, data) VALUES(($1), ($2), ($3), ($4), ($5), ($6), ($7), ($8), ($9), ($10), ($11), ($12), ($13), ($14), ($15)) RETURNING nonce` sqlStatement := `INSERT INTO txs(txhash, from_addr, to_addr, blockhash, blockNumber, amount, gasprice, gas, gasLimit, txfee, nonce, isContract, txStatus, age, data) VALUES(($1), ($2), ($3), ($4), ($5), ($6), ($7), ($8), ($9), ($10), ($11), ($12), ($13), ($14), ($15)) RETURNING nonce`
err := sqldb.QueryRow(sqlStatement, strings.ToLower(txData.TxHash), strings.ToLower(txData.From), strings.ToLower(txData.To.String()), strings.ToLower(txData.BlockHash), txData.BlockNumber, txData.Amount, txData.GasPrice, txData.Gas, txData.GasLimit, txData.Cost, txData.Nonce, txData.IsContract, txData.Status, txData.Age, txData.Data).Scan(&retNonce) err := sqldb.QueryRow(sqlStatement, strings.ToLower(txData.TxHash), strings.ToLower(txData.From), strings.ToLower(txData.To.String()), strings.ToLower(txData.BlockHash), txData.BlockNumber, txData.Amount, txData.GasPrice, txData.Gas, txData.GasLimit, txData.Cost, txData.Nonce, txData.IsContract, txData.Status, txData.Age, txData.Data).Scan(&retNonce)
@ -443,7 +454,8 @@ func InsertTx(sqldb *sql.DB, txData ShyftTxEntryPretty) {
} }
} }
func InsertInternalTx(sqldb *sql.DB, i InteralWrite) { //InsertInternalTx writes internal tx to Postgres Db
func InsertInternalTx(sqldb *sql.DB, i stypes.InteralWrite) {
var returnValue string var returnValue string
sqlStatement := `INSERT INTO internaltxs(type, txhash, from_addr, to_addr, amount, gas, gasUsed, time, input, output) VALUES(($1), ($2), ($3), ($4), ($5), ($6), ($7), ($8), ($9), ($10)) RETURNING txHash` sqlStatement := `INSERT INTO internaltxs(type, txhash, from_addr, to_addr, amount, gas, gasUsed, time, input, output) VALUES(($1), ($2), ($3), ($4), ($5), ($6), ($7), ($8), ($9), ($10)) RETURNING txHash`
qerr := sqldb.QueryRow(sqlStatement, i.Type, strings.ToLower(i.Hash), strings.ToLower(i.From), strings.ToLower(i.To), i.Value, i.Gas, i.GasUsed, i.Time, i.Input, i.Output).Scan(&returnValue) qerr := sqldb.QueryRow(sqlStatement, i.Type, strings.ToLower(i.Hash), strings.ToLower(i.From), strings.ToLower(i.To), i.Value, i.Gas, i.GasUsed, i.Time, i.Input, i.Output).Scan(&returnValue)

View file

@ -1,17 +1,19 @@
package core package core
import ( import (
"encoding/json"
"database/sql" "database/sql"
"encoding/json"
"fmt" "fmt"
"time" "time"
stypes "github.com/ShyftNetwork/go-empyrean/core/sTypes"
) )
/////////// ///////////
// Getters // Getters
////////// //////////
func SGetAllBlocks(sqldb *sql.DB) string { func SGetAllBlocks(sqldb *sql.DB) string {
var arr blockRes var arr stypes.BlockRes
var blockArr string var blockArr string
rows, err := sqldb.Query(`SELECT * FROM blocks`) rows, err := sqldb.Query(`SELECT * FROM blocks`)
if err != nil { if err != nil {
@ -25,9 +27,9 @@ func SGetAllBlocks(sqldb *sql.DB) string {
var txCount, uncleCount int var txCount, uncleCount int
err = rows.Scan( err = rows.Scan(
&hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num,) &hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num)
arr.Blocks = append(arr.Blocks, SBlock{ arr.Blocks = append(arr.Blocks, stypes.SBlock{
Hash: hash, Hash: hash,
Coinbase: coinbase, Coinbase: coinbase,
GasUsed: gasUsed, GasUsed: gasUsed,
@ -61,9 +63,9 @@ func SGetBlock(sqldb *sql.DB, blockNumber string) string {
var txCount, uncleCount int var txCount, uncleCount int
row.Scan( row.Scan(
&hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num,) &hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num)
block := SBlock{ block := stypes.SBlock{
Hash: hash, Hash: hash,
Coinbase: coinbase, Coinbase: coinbase,
GasUsed: gasUsed, GasUsed: gasUsed,
@ -91,9 +93,9 @@ func SGetRecentBlock(sqldb *sql.DB) string {
var txCount, uncleCount int var txCount, uncleCount int
row.Scan( row.Scan(
&hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num,) &hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num)
block := SBlock{ block := stypes.SBlock{
Hash: hash, Hash: hash,
Coinbase: coinbase, Coinbase: coinbase,
GasUsed: gasUsed, GasUsed: gasUsed,
@ -114,7 +116,7 @@ func SGetRecentBlock(sqldb *sql.DB) string {
} }
func SGetAllTransactionsFromBlock(sqldb *sql.DB, blockNumber string) string { func SGetAllTransactionsFromBlock(sqldb *sql.DB, blockNumber string) string {
var arr txRes var arr stypes.TxRes
var txx string var txx string
sqlStatement := `SELECT * FROM txs WHERE blocknumber=$1` sqlStatement := `SELECT * FROM txs WHERE blocknumber=$1`
rows, err := sqldb.Query(sqlStatement, blockNumber) rows, err := sqldb.Query(sqlStatement, blockNumber)
@ -133,7 +135,7 @@ func SGetAllTransactionsFromBlock(sqldb *sql.DB, blockNumber string) string {
&txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data, &txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data,
) )
arr.TxEntry = append(arr.TxEntry, ShyftTxEntryPretty{ arr.TxEntry = append(arr.TxEntry, stypes.ShyftTxEntryPretty{
TxHash: txhash, TxHash: txhash,
ToGet: to_addr, ToGet: to_addr,
From: from_addr, From: from_addr,
@ -159,7 +161,7 @@ func SGetAllTransactionsFromBlock(sqldb *sql.DB, blockNumber string) string {
} }
func SGetAllBlocksMinedByAddress(sqldb *sql.DB, coinbase string) string { func SGetAllBlocksMinedByAddress(sqldb *sql.DB, coinbase string) string {
var arr blockRes var arr stypes.BlockRes
var blockArr string var blockArr string
sqlStatement := `SELECT * FROM blocks WHERE coinbase=$1` sqlStatement := `SELECT * FROM blocks WHERE coinbase=$1`
rows, err := sqldb.Query(sqlStatement, coinbase) rows, err := sqldb.Query(sqlStatement, coinbase)
@ -174,9 +176,9 @@ func SGetAllBlocksMinedByAddress(sqldb *sql.DB, coinbase string) string {
var txCount, uncleCount int var txCount, uncleCount int
err = rows.Scan( err = rows.Scan(
&hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num,) &hash, &coinbase, &gasUsed, &gasLimit, &txCount, &uncleCount, &age, &parentHash, &uncleHash, &difficulty, &size, &nonce, &rewards, &num)
arr.Blocks = append(arr.Blocks, SBlock{ arr.Blocks = append(arr.Blocks, stypes.SBlock{
Hash: hash, Hash: hash,
Coinbase: coinbase, Coinbase: coinbase,
GasUsed: gasUsed, GasUsed: gasUsed,
@ -202,7 +204,7 @@ func SGetAllBlocksMinedByAddress(sqldb *sql.DB, coinbase string) string {
//GetAllTransactions getter fn for API //GetAllTransactions getter fn for API
func SGetAllTransactions(sqldb *sql.DB) string { func SGetAllTransactions(sqldb *sql.DB) string {
var arr txRes var arr stypes.TxRes
var txx string var txx string
rows, err := sqldb.Query(`SELECT * FROM txs`) rows, err := sqldb.Query(`SELECT * FROM txs`)
if err != nil { if err != nil {
@ -220,7 +222,7 @@ func SGetAllTransactions(sqldb *sql.DB) string {
&txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data, &txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data,
) )
arr.TxEntry = append(arr.TxEntry, ShyftTxEntryPretty{ arr.TxEntry = append(arr.TxEntry, stypes.ShyftTxEntryPretty{
TxHash: txhash, TxHash: txhash,
ToGet: to_addr, ToGet: to_addr,
From: from_addr, From: from_addr,
@ -258,7 +260,7 @@ func SGetTransaction(sqldb *sql.DB, txHash string) string {
row.Scan( row.Scan(
&txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data) &txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data)
tx := ShyftTxEntryPretty{ tx := stypes.ShyftTxEntryPretty{
TxHash: txhash, TxHash: txhash,
ToGet: to_addr, ToGet: to_addr,
From: from_addr, From: from_addr,
@ -280,14 +282,14 @@ func SGetTransaction(sqldb *sql.DB, txHash string) string {
return string(json) return string(json)
} }
func InnerSGetAccount(sqldb *sql.DB, address string) (SAccounts, bool) { func InnerSGetAccount(sqldb *sql.DB, address string) (stypes.SAccounts, bool) {
sqlStatement := `SELECT * FROM accounts WHERE addr=$1;` sqlStatement := `SELECT * FROM accounts WHERE addr=$1;`
var addr, balance, accountNonce string var addr, balance, accountNonce string
err := sqldb.QueryRow(sqlStatement, address).Scan(&addr, &balance, &accountNonce) err := sqldb.QueryRow(sqlStatement, address).Scan(&addr, &balance, &accountNonce)
if err == sql.ErrNoRows { if err == sql.ErrNoRows {
return SAccounts{}, false return stypes.SAccounts{}, false
} else { } else {
account := SAccounts{ account := stypes.SAccounts{
Addr: addr, Addr: addr,
Balance: balance, Balance: balance,
AccountNonce: accountNonce, AccountNonce: accountNonce,
@ -305,7 +307,7 @@ func SGetAccount(sqldb *sql.DB, address string) string {
//GetAllAccounts returns all accounts and balances //GetAllAccounts returns all accounts and balances
func SGetAllAccounts(sqldb *sql.DB) string { func SGetAllAccounts(sqldb *sql.DB) string {
var array accountRes var array stypes.AccountRes
var accountsArr, accountNonce string var accountsArr, accountNonce string
accs, err := sqldb.Query(` accs, err := sqldb.Query(`
@ -326,7 +328,7 @@ func SGetAllAccounts(sqldb *sql.DB) string {
&addr, &balance, &accountNonce, &addr, &balance, &accountNonce,
) )
array.AllAccounts = append(array.AllAccounts, SAccounts{ array.AllAccounts = append(array.AllAccounts, stypes.SAccounts{
Addr: addr, Addr: addr,
Balance: balance, Balance: balance,
AccountNonce: accountNonce, AccountNonce: accountNonce,
@ -341,7 +343,7 @@ func SGetAllAccounts(sqldb *sql.DB) string {
//GetAccount returns account balances //GetAccount returns account balances
func SGetAccountTxs(sqldb *sql.DB, address string) string { func SGetAccountTxs(sqldb *sql.DB, address string) string {
var arr txRes var arr stypes.TxRes
var txx string var txx string
sqlStatement := `SELECT * FROM txs WHERE to_addr=$1 OR from_addr=$1;` sqlStatement := `SELECT * FROM txs WHERE to_addr=$1 OR from_addr=$1;`
rows, err := sqldb.Query(sqlStatement, address) rows, err := sqldb.Query(sqlStatement, address)
@ -360,7 +362,7 @@ func SGetAccountTxs(sqldb *sql.DB, address string) string {
&txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data, &txhash, &to_addr, &from_addr, &blockhash, &blocknumber, &amount, &gasprice, &gas, &gasLimit, &txfee, &nonce, &status, &isContract, &age, &data,
) )
arr.TxEntry = append(arr.TxEntry, ShyftTxEntryPretty{ arr.TxEntry = append(arr.TxEntry, stypes.ShyftTxEntryPretty{
TxHash: txhash, TxHash: txhash,
ToGet: to_addr, ToGet: to_addr,
From: from_addr, From: from_addr,

View file

@ -30,6 +30,7 @@ import (
"github.com/ShyftNetwork/go-empyrean/common" "github.com/ShyftNetwork/go-empyrean/common"
"github.com/ShyftNetwork/go-empyrean/common/hexutil" "github.com/ShyftNetwork/go-empyrean/common/hexutil"
"github.com/ShyftNetwork/go-empyrean/core" "github.com/ShyftNetwork/go-empyrean/core"
stypes "github.com/ShyftNetwork/go-empyrean/core/sTypes"
"github.com/ShyftNetwork/go-empyrean/core/vm" "github.com/ShyftNetwork/go-empyrean/core/vm"
"github.com/ShyftNetwork/go-empyrean/crypto" "github.com/ShyftNetwork/go-empyrean/crypto"
"github.com/ShyftNetwork/go-empyrean/log" "github.com/ShyftNetwork/go-empyrean/log"
@ -604,7 +605,7 @@ func (i *Internals) SWriteInteralTxs(hash common.Hash) {
value, _ := hexutil.DecodeUint64(i.Value) value, _ := hexutil.DecodeUint64(i.Value)
amount := strconv.FormatUint(value, 10) amount := strconv.FormatUint(value, 10)
iTx := core.InteralWrite{ iTx := stypes.InteralWrite{
Hash: hash.Hex(), Hash: hash.Hex(),
Type: i.Type, Type: i.Type,
From: i.From, From: i.From,

View file

@ -21,7 +21,6 @@ class AccountTable extends Component {
} }
render() { render() {
let startNum = 1; let startNum = 1;
const sorted = [...this.state.data]; const sorted = [...this.state.data];
sorted.sort((a, b) => Number(a.Balance) > Number(b.Balance)); sorted.sort((a, b) => Number(a.Balance) > Number(b.Balance));
@ -38,7 +37,7 @@ class AccountTable extends Component {
Percentage={percentage.toFixed(2)} Percentage={percentage.toFixed(2)}
Addr={data.Addr} Addr={data.Addr}
Balance={conversion} Balance={conversion}
TxCountAccount={data.TxCountAccount} AccountNonce={data.AccountNonce}
detailAccountHandler={this.props.detailAccountHandler} detailAccountHandler={this.props.detailAccountHandler}
/> />
}); });

View file

@ -12,7 +12,7 @@ const AccountsTable = (props) => {
</Link></td> </Link></td>
<td>{props.Balance}</td> <td>{props.Balance}</td>
<td>{props.Percentage}%</td> <td>{props.Percentage}%</td>
<td>{props.TxCountAccount}</td> <td>{props.AccountNonce}</td>
</tr> </tr>
</tbody> </tbody>
) )

View file

@ -17,7 +17,7 @@ class AccountTransactionTable extends Component {
age={data.Age} age={data.Age}
txHash={data.TxHash} txHash={data.TxHash}
blockNumber={data.BlockNumber} blockNumber={data.BlockNumber}
to={data.To} to={data.ToGet}
from={data.From} from={data.From}
value={amountConversion} value={amountConversion}
cost={costConversion} cost={costConversion}

View file

@ -30,7 +30,7 @@ class BlocksTable extends Component {
Hash={data.Hash} Hash={data.Hash}
Number={data.Number} Number={data.Number}
Coinbase={data.Coinbase} Coinbase={data.Coinbase}
Age={data.Age} AgeGet={data.AgeGet}
GasUsed={data.GasUsed} GasUsed={data.GasUsed}
GasLimit={data.GasLimit} GasLimit={data.GasLimit}
UncleCount={data.UncleCount} UncleCount={data.UncleCount}

View file

@ -10,7 +10,7 @@ const BlockTable = (props) => {
{props.Number} {props.Number}
</Link></td> </Link></td>
<td className={classes.addressTag}>{props.Hash}</td> <td className={classes.addressTag}>{props.Hash}</td>
<td>{props.Age}</td> <td>{props.AgeGet}</td>
<td>{props.TxCount}</td> <td>{props.TxCount}</td>
<td>{props.UncleCount}</td> <td>{props.UncleCount}</td>
<td className={classes.addressTag}><Link to="/mined/blocks" onClick={() => props.getBlocksMined(props.Coinbase)}>{props.Coinbase}</Link></td> <td className={classes.addressTag}><Link to="/mined/blocks" onClick={() => props.getBlocksMined(props.Coinbase)}>{props.Coinbase}</Link></td>

View file

@ -16,7 +16,7 @@ class DetailBlockTable extends Component {
</tr> </tr>
<tr> <tr>
<th scope="col">Age:</th> <th scope="col">Age:</th>
<td>{data.Age}</td> <td>{data.AgeGet}</td>
</tr> </tr>
<tr> <tr>
<th scope="col">Txn:</th> <th scope="col">Txn:</th>

View file

@ -19,7 +19,7 @@ class BlocksMinedTable extends Component {
Hash={data.Hash} Hash={data.Hash}
Number={data.Number} Number={data.Number}
Coinbase={data.Coinbase} Coinbase={data.Coinbase}
Age={data.Age} AgeGet={data.AgeGet}
GasUsed={data.GasUsed} GasUsed={data.GasUsed}
GasLimit={data.GasLimit} GasLimit={data.GasLimit}
UncleCount={data.UncleCount} UncleCount={data.UncleCount}

View file

@ -10,7 +10,7 @@ const MinedBlockTable = (props) => {
{props.Number} {props.Number}
</Link></td> </Link></td>
<td className={classes.addressTag}>{props.Hash}</td> <td className={classes.addressTag}>{props.Hash}</td>
<td>{props.Age}</td> <td>{props.AgeGet}</td>
<td>{props.TxCount}</td> <td>{props.TxCount}</td>
<td>{props.UncleCount}</td> <td>{props.UncleCount}</td>
<td className={classes.addressTag}>{props.Coinbase}</td> <td className={classes.addressTag}>{props.Coinbase}</td>

View file

@ -32,7 +32,7 @@ class DetailTransactionTable extends Component {
</tr> </tr>
<tr> <tr>
<th scope="col">To:</th> <th scope="col">To:</th>
<td>{ `${data.IsContract}` ? `${data.To} (Contract)` : `${data.To}` }</td> <td>{ `${data.IsContract}` ? `${data.ToGet} (Contract)` : `${data.ToGet}` }</td>
</tr> </tr>
<tr> <tr>
<th scope="col">Value:</th> <th scope="col">Value:</th>

View file

@ -31,7 +31,7 @@ class TransactionTable extends Component {
age={data.Age} age={data.Age}
txHash={data.TxHash} txHash={data.TxHash}
blockNumber={data.BlockNumber} blockNumber={data.BlockNumber}
to={data.To} to={data.ToGet}
from={data.From} from={data.From}
value={data.Amount} value={data.Amount}
cost={conversion} cost={conversion}