-
Notifications
You must be signed in to change notification settings - Fork 0
/
treasury.go
46 lines (40 loc) · 1.35 KB
/
treasury.go
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
package types
import (
sdk "github.com/ayher/anatha/types"
)
type Treasury struct {
MintGenesisSupply bool `json:"mint_genesis_supply" yaml:"mint_genesis_supply"`
TargetSupply sdk.Coins `json:"target_supply" yaml:"target_supply"`
Distributed sdk.Coins `json:"distributed" yaml:"distributed"`
CoinsPerStage sdk.Coins `json:"coins_per_stage" yaml:"coins_per_stage"`
InboundDin sdk.Coins `json:"inbound_din" yaml:"inbound_din"`
}
func NewTreasury(mintGenesisSupply bool, targetSupply sdk.Coins, distributed sdk.Coins, coinsPerStage sdk.Coins, inboundDin sdk.Coins) Treasury {
return Treasury{
MintGenesisSupply: mintGenesisSupply,
TargetSupply: targetSupply,
Distributed: distributed,
CoinsPerStage: coinsPerStage,
InboundDin: inboundDin,
}
}
func InitialTreasury(mintGenesisSupply bool, targetSupply sdk.Coins, distributed sdk.Coins, coinsPerStage sdk.Coins, inboundDin sdk.Coins) Treasury {
return NewTreasury(
mintGenesisSupply,
targetSupply,
distributed,
coinsPerStage,
inboundDin,
)
}
func DefaultInitialTreasury() Treasury {
targetSupply, _ := sdk.ConvertCoin(sdk.NewInt64Coin("anatha", 6909275134), "pin")
coinsPerStage, _ := sdk.ConvertCoin(sdk.NewInt64Coin("anatha", 10000000), "pin")
return InitialTreasury(
true,
sdk.NewCoins(targetSupply),
sdk.NewCoins(),
sdk.NewCoins(coinsPerStage),
sdk.NewCoins(),
)
}