github.com/mavryk-network/mvgo@v1.19.9/rpc/issuance.go (about) 1 // Copyright (c) 2023 Blockwatch Data Inc. 2 // Author: alex@blockwatch.cc 3 4 package rpc 5 6 import ( 7 "context" 8 "fmt" 9 ) 10 11 type IssuanceParameters struct { 12 Cycle int64 `json:"cycle"` 13 BakingReward int64 `json:"baking_reward_fixed_portion,string"` 14 BakingBonus int64 `json:"baking_reward_bonus_per_slot,string"` 15 AttestingReward int64 `json:"attesting_reward_per_slot,string"` 16 LBSubsidy int64 `json:"liquidity_baking_subsidy,string"` 17 SeedNonceTip int64 `json:"seed_nonce_revelation_tip,string"` 18 VdfTip int64 `json:"vdf_revelation_tip,string"` 19 } 20 21 // GetIssuance returns expected xtz issuance for known future cycles 22 func (c *Client) GetIssuance(ctx context.Context, id BlockID) ([]IssuanceParameters, error) { 23 u := fmt.Sprintf("chains/main/blocks/%s/context/issuance/expected_issuance", id) 24 p := make([]IssuanceParameters, 0, 5) 25 if err := c.Get(ctx, u, p); err != nil { 26 return nil, err 27 } 28 return p, nil 29 }