( miners MinerInfos, po *types.ProviderProfile, req *types.CreateDatabase, user proto.AccountAddress, )
| 732 | } |
| 733 | |
| 734 | func filterAndAppendMiner( |
| 735 | miners MinerInfos, |
| 736 | po *types.ProviderProfile, |
| 737 | req *types.CreateDatabase, |
| 738 | user proto.AccountAddress, |
| 739 | ) (newMiners MinerInfos, err error) { |
| 740 | newMiners = miners |
| 741 | if !isProviderUserMatch(po.TargetUser, user) { |
| 742 | err = ErrMinerUserNotMatch |
| 743 | return |
| 744 | } |
| 745 | var match bool |
| 746 | if match, err = isProviderReqMatch(po, req); !match { |
| 747 | return |
| 748 | } |
| 749 | newMiners = append(miners, &types.MinerInfo{ |
| 750 | Address: po.Provider, |
| 751 | NodeID: po.NodeID, |
| 752 | Deposit: po.Deposit, |
| 753 | }) |
| 754 | return |
| 755 | } |
| 756 | |
| 757 | func isProviderUserMatch(targetUsers []proto.AccountAddress, user proto.AccountAddress) (match bool) { |
| 758 | if len(targetUsers) > 0 { |
no test coverage detected