mirror of https://github.com/ethereum/go-ethereum
parent
d0438ac10a
commit
e16fd323e8
@ -0,0 +1,56 @@ |
||||
package ethui |
||||
|
||||
import ( |
||||
"encoding/hex" |
||||
"github.com/ethereum/eth-go/ethchain" |
||||
"github.com/ethereum/eth-go/ethutil" |
||||
) |
||||
|
||||
// Block interface exposed to QML
|
||||
type QBlock struct { |
||||
Number int |
||||
Hash string |
||||
} |
||||
|
||||
// Creates a new QML Block from a chain block
|
||||
func NewQBlock(block *ethchain.Block) *QBlock { |
||||
info := block.BlockInfo() |
||||
hash := hex.EncodeToString(block.Hash()) |
||||
|
||||
return &QBlock{Number: int(info.Number), Hash: hash} |
||||
} |
||||
|
||||
type QTx struct { |
||||
Value, Hash, Address string |
||||
Contract bool |
||||
} |
||||
|
||||
func NewQTx(tx *ethchain.Transaction) *QTx { |
||||
hash := hex.EncodeToString(tx.Hash()) |
||||
sender := hex.EncodeToString(tx.Recipient) |
||||
isContract := len(tx.Data) > 0 |
||||
|
||||
return &QTx{Hash: hash, Value: ethutil.CurrencyToString(tx.Value), Address: sender, Contract: isContract} |
||||
} |
||||
|
||||
type QKey struct { |
||||
Address string |
||||
} |
||||
|
||||
type QKeyRing struct { |
||||
Keys []interface{} |
||||
} |
||||
|
||||
func NewQKeyRing(keys []interface{}) *QKeyRing { |
||||
return &QKeyRing{Keys: keys} |
||||
} |
||||
|
||||
type QStateObject struct { |
||||
Address string |
||||
Amount string |
||||
Nonce int |
||||
} |
||||
|
||||
func NewQStateObject(stateObject *ethchain.StateObject) *QStateObject { |
||||
return &QStateObject{ethutil.Hex(stateObject.Address()), stateObject.Amount.String(), int(stateObject.Nonce)} |
||||
} |
Loading…
Reference in new issue