aboutsummaryrefslogtreecommitdiffstats
path: root/ethchain/fees.go
blob: 0096871d16c023dcbe76d8bc8927c45ba4f8c210 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
package ethchain

import (
    "math/big"
)

var TxFeeRat *big.Int = big.NewInt(100000000000000)

var TxFee *big.Int = big.NewInt(100)
var StepFee *big.Int = big.NewInt(1)
var StoreFee *big.Int = big.NewInt(0)
var DataFee *big.Int = big.NewInt(20)
var ExtroFee *big.Int = big.NewInt(40)
var CryptoFee *big.Int = big.NewInt(20)
var ContractFee *big.Int = big.NewInt(100)

var BlockReward *big.Int = big.NewInt(1.5e+18)
var UncleReward *big.Int = big.NewInt(1.125e+18)
var UncleInclusionReward *big.Int = big.NewInt(1.875e+17)

var Period1Reward *big.Int = new(big.Int)
var Period2Reward *big.Int = new(big.Int)
var Period3Reward *big.Int = new(big.Int)
var Period4Reward *big.Int = new(big.Int)

func InitFees() {
    StepFee.Mul(StepFee, TxFeeRat)
    StoreFee.Mul(StoreFee, TxFeeRat)
    DataFee.Mul(DataFee, TxFeeRat)
    ExtroFee.Mul(ExtroFee, TxFeeRat)
    CryptoFee.Mul(CryptoFee, TxFeeRat)
    ContractFee.Mul(ContractFee, TxFeeRat)
    /*
        // Base for 2**64
        b60 := new(big.Int)
        b60.Exp(big.NewInt(2), big.NewInt(64), big.NewInt(0))
        // Base for 2**80
        b80 := new(big.Int)
        b80.Exp(big.NewInt(2), big.NewInt(80), big.NewInt(0))

        StepFee.Exp(big.NewInt(10), big.NewInt(16), big.NewInt(0))
        //StepFee.Div(b60, big.NewInt(64))
        //fmt.Println("StepFee:", StepFee)

        TxFee.Exp(big.NewInt(2), big.NewInt(64), big.NewInt(0))
        //fmt.Println("TxFee:", TxFee)

        ContractFee.Exp(big.NewInt(2), big.NewInt(64), big.NewInt(0))
        //fmt.Println("ContractFee:", ContractFee)

        MemFee.Div(b60, big.NewInt(4))
        //fmt.Println("MemFee:", MemFee)

        DataFee.Div(b60, big.NewInt(16))
        //fmt.Println("DataFee:", DataFee)

        CryptoFee.Div(b60, big.NewInt(16))
        //fmt.Println("CrytoFee:", CryptoFee)

        ExtroFee.Div(b60, big.NewInt(16))
        //fmt.Println("ExtroFee:", ExtroFee)

        Period1Reward.Mul(b80, big.NewInt(1024))
        //fmt.Println("Period1Reward:", Period1Reward)

        Period2Reward.Mul(b80, big.NewInt(512))
        //fmt.Println("Period2Reward:", Period2Reward)

        Period3Reward.Mul(b80, big.NewInt(256))
        //fmt.Println("Period3Reward:", Period3Reward)

        Period4Reward.Mul(b80, big.NewInt(128))
        //fmt.Println("Period4Reward:", Period4Reward)
    */
}