5 func TestCreateCoinbaseTx(t *testing.T) {
6 reductionInterval := uint64(840000)
7 baseSubsidy := uint64(41250000000)
14 height: reductionInterval - 1,
16 subsidy: baseSubsidy + 100000000,
19 height: reductionInterval,
21 subsidy: baseSubsidy/2 + 2000000000,
24 height: reductionInterval + 1,
26 subsidy: baseSubsidy / 2,
29 height: reductionInterval * 2,
31 subsidy: baseSubsidy/4 + 100000000,
35 for _, c := range cases {
36 coinbaseTx, err := createCoinbaseTx(nil, c.txFee, c.height)
41 outputAmount := coinbaseTx.Outputs[0].OutputCommitment.Amount
42 if outputAmount != c.subsidy {
43 t.Fatalf("coinbase tx reward dismatch, expected: %d, have: %d", c.subsidy, outputAmount)