(head *types.Header)
| 330 | } |
| 331 | |
| 332 | func (e *Exchange) fetchBlock(head *types.Header) { |
| 333 | var ( |
| 334 | blk *types.Block |
| 335 | err error |
| 336 | ) |
| 337 | |
| 338 | defer e.wg.Done() |
| 339 | |
| 340 | for { |
| 341 | blk, err = e.client.BlockByNumber(e.processCtx, head.Number) |
| 342 | if err == nil { |
| 343 | e.newBlockCh <- blk |
| 344 | return |
| 345 | } |
| 346 | |
| 347 | time.Sleep(time.Second) |
| 348 | } |
| 349 | } |
| 350 | |
| 351 | func (e *Exchange) saveTx(blockNumber *big.Int, tx *types.Transaction) (r *TxRecord, err error) { |
| 352 | var receipt *types.Receipt |