github.com/inklabsfoundation/inkchain@v0.17.1-0.20181025012015-c3cef8062f19/core/wallet/ink/impl/simple_ink.go (about)

     1  /*
     2  Copyright Ziggurat Corp. 2017 All Rights Reserved.
     3  
     4  SPDX-License-Identifier: Apache-2.0
     5  */
     6  
     7  package impl
     8  
     9  var InkFeeK float32
    10  var InkFeeX0 float32
    11  var InkFeeB float32
    12  
    13  type SimpleInkAlg struct {
    14  }
    15  
    16  func NewSimpleInkAlg() *SimpleInkAlg {
    17  	return &SimpleInkAlg{}
    18  }
    19  func (s *SimpleInkAlg) CalcInk(textLength int) (int64, error) {
    20  	ink := int64((float32(textLength)-InkFeeX0)*InkFeeK + InkFeeB)
    21  	if ink < 0 {
    22  		ink = 0
    23  	}
    24  	return ink, nil
    25  }