func getUx(bc historydb.Blockchainer, seq uint64, txID cipher.SHA256, addr string) (*coin.UxOut, error) { b := bc.GetBlockInDepth(seq) if b == nil { return nil, fmt.Errorf("no block in depth:%v", seq) } tx, ok := b.GetTransaction(txID) if !ok { return nil, errors.New("found transaction failed") } uxs := coin.CreateUnspents(b.Head, tx) for _, u := range uxs { if u.Body.Address.String() == addr { return &u, nil } } return nil, nil }