本文整理匯總了Golang中github.com/NebulousLabs/Sia/types.Currency.IsZero方法的典型用法代碼示例。如果您正苦於以下問題:Golang Currency.IsZero方法的具體用法?Golang Currency.IsZero怎麽用?Golang Currency.IsZero使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/NebulousLabs/Sia/types.Currency
的用法示例。
在下文中一共展示了Currency.IsZero方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: findOutputs
// findOutputs returns a set of spendable outputs that add up to at least
// `amount` of coins, returning an error if it cannot. It also returns the
// `total`, which is the sum of all the outputs that were found, since it's
// unlikely that it will equal amount exaclty.
func (w *Wallet) findOutputs(amount types.Currency) (knownOutputs []*knownOutput, total types.Currency, err error) {
if amount.IsZero() {
err = errors.New("cannot fund amount <= 0")
return
}
// Iterate through all outputs until enough coins have been assembled.
for _, key := range w.keys {
if !key.spendable {
continue
}
for _, knownOutput := range key.outputs {
if !knownOutput.spendable {
continue
}
if knownOutput.age > w.age-AgeDelay {
continue
}
total = total.Add(knownOutput.output.Value)
knownOutputs = append(knownOutputs, knownOutput)
if total.Cmp(amount) >= 0 {
return
}
}
}
// This code will only be reached if total < amount, meaning insufficient
// funds.
err = modules.LowBalanceErr
return
}