(block *types.Block)
| 234 | } |
| 235 | |
| 236 | func GetBlockInfo(block *types.Block) BlockInfo { |
| 237 | hash := block.Hash() |
| 238 | var bookkeepers = []string{} |
| 239 | var sigData = []string{} |
| 240 | for i := 0; i < len(block.Header.SigData); i++ { |
| 241 | s := common.ToHexString(block.Header.SigData[i]) |
| 242 | sigData = append(sigData, s) |
| 243 | } |
| 244 | for i := 0; i < len(block.Header.Bookkeepers); i++ { |
| 245 | e := block.Header.Bookkeepers[i] |
| 246 | key := keypair.SerializePublicKey(e) |
| 247 | bookkeepers = append(bookkeepers, common.ToHexString(key)) |
| 248 | } |
| 249 | |
| 250 | blockHead := &BlockHead{ |
| 251 | Version: block.Header.Version, |
| 252 | PrevBlockHash: block.Header.PrevBlockHash.ToHexString(), |
| 253 | TransactionsRoot: block.Header.TransactionsRoot.ToHexString(), |
| 254 | BlockRoot: block.Header.BlockRoot.ToHexString(), |
| 255 | Timestamp: block.Header.Timestamp, |
| 256 | Height: block.Header.Height, |
| 257 | ConsensusData: block.Header.ConsensusData, |
| 258 | ConsensusPayload: common.ToHexString(block.Header.ConsensusPayload), |
| 259 | NextBookkeeper: block.Header.NextBookkeeper.ToBase58(), |
| 260 | Bookkeepers: bookkeepers, |
| 261 | SigData: sigData, |
| 262 | Hash: hash.ToHexString(), |
| 263 | } |
| 264 | |
| 265 | trans := make([]*Transactions, len(block.Transactions)) |
| 266 | for i := 0; i < len(block.Transactions); i++ { |
| 267 | tran := TransArryByteToHexString(block.Transactions[i]) |
| 268 | tran.Height = block.Header.Height |
| 269 | trans[i] = tran |
| 270 | } |
| 271 | |
| 272 | b := BlockInfo{ |
| 273 | Hash: hash.ToHexString(), |
| 274 | Size: len(block.ToArray()), |
| 275 | Header: blockHead, |
| 276 | Transactions: trans, |
| 277 | } |
| 278 | return b |
| 279 | } |
| 280 | |
| 281 | func GetBalance(address common.Address) (*BalanceOfRsp, error) { |
| 282 | balances, height, err := GetContractBalance(0, []common.Address{utils.GasContractAddress}, address, true) |
nothing calls this directly
no test coverage detected