Skip to content
Snippets Groups Projects
Commit 771b74ac authored by Miguel Montes's avatar Miguel Montes
Browse files

Simplificación de algunas funciones

parent f24a9fe0
No related branches found
No related tags found
No related merge requests found
......@@ -253,24 +253,16 @@ func (node *Node) IsMining() (mining bool) {
return
}
func (node *Node) PeerCount() int64 {
var peerCount string
func (node *Node) PeerCount() uint64 {
var peerCount Uint64
node.Call(&peerCount, "net_peerCount")
p, _ := strconv.ParseInt(peerCount, 0, 64)
return p
return uint64(peerCount)
}
func (node *Node) BalanceAtBlock(account string, blockNumber int64) *big.Int {
var (
balance string
block = Latest
)
if blockNumber >= 0 {
block = Int64ToHex(blockNumber)
}
node.Call(&balance, "eth_getBalance", account, block)
n, _ := new(big.Int).SetString(balance, 0)
return n
var balance BigInt
node.Call(&balance, "eth_getBalance", account, hexBlockNumber(blockNumber))
return (*big.Int)(&balance)
}
func (node *Node) Balance(account string) *big.Int {
......@@ -319,13 +311,11 @@ func (node *Node) BlockNumberInRange(number int64) (blockNumber int64) {
}
func (node *Node) HeaderByNumber(blockNumber int64) (header Header) {
Require(blockNumber == -1 || blockNumber == node.BlockNumberInRange(blockNumber), "block number out of range")
node.Call(&header, "eth_getBlockByNumber", hexBlockNumber(blockNumber), true)
return
}
func (node *Node) BlockByNumber(blockNumber int64) (block Block) {
Require(blockNumber == -1 || blockNumber == node.BlockNumberInRange(blockNumber), "block number out of range")
node.Call(&block, "eth_getBlockByNumber", hexBlockNumber(blockNumber), true)
block.setSigner()
return
......@@ -346,17 +336,12 @@ func (node *Node) GetSnapshot() (snapshot Snapshot) {
}
func (node *Node) SnapshotAtBlock(blockNumber int64) (snapshot Snapshot) {
Require(blockNumber == -1 || blockNumber == node.BlockNumberInRange(blockNumber), "block number out of range")
node.Call(&snapshot, "clique_getSnapshot", hexBlockNumber(blockNumber))
return
}
func (node *Node) Sealers() (signers []string) {
var s []common.Address
node.Call(&s, "clique_getSigners", nil)
for _, signer := range s {
signers = append(signers, BytesToHex(signer.Bytes()))
}
node.Call(&signers, "clique_getSigners", nil)
return
}
......@@ -366,14 +351,10 @@ func (node *Node) NodeInfo() (nodeInfo p2p.NodeInfo) {
}
func (node *Node) SealersAtBlock(blockNumber int64) (signers []string) {
var s []common.Address
if blockNumber < 0 {
if blockNumber == -1 {
return node.Sealers()
}
node.Call(&s, "clique_getSigners", Int64ToHex(blockNumber))
for _, signer := range s {
signers = append(signers, BytesToHex(signer.Bytes()))
}
node.Call(&signers, "clique_getSigners", Int64ToHex(blockNumber))
return
}
......@@ -387,6 +368,16 @@ func (node *Node) IsSealer(address string) bool {
return Contains(node.Sealers(), address)
}
func (node *Node) IsSealerAtBlock(address string, blockNumber int64) bool {
if address == Self {
var err error
if address, err = node.Coinbase(); err != nil {
return false
}
}
return Contains(node.SealersAtBlock(blockNumber), address)
}
func (node *Node) Propose(address string, vote bool) {
node.Call(nil, "clique_propose", address, vote)
return
......
......@@ -368,7 +368,7 @@ func status() {
IsSealer bool `json:"isSealer"`
IsMining bool `json:"isMining"`
BlockNumber int64 `json:"blockNumber"`
PeerCount int64 `json:"peerCount"`
PeerCount uint64 `json:"peerCount"`
}{
Accounts: make(map[string]*big.Int),
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment