github.com/mavryk-network/mvgo@v1.19.9/rpc/deposit.go (about)

     1  // Copyright (c) 2020-2022 Blockwatch Data Inc.
     2  // Author: alex@blockwatch.cc
     3  
     4  package rpc
     5  
     6  import "github.com/mavryk-network/mvgo/mavryk"
     7  
     8  // Ensure SetDepositsLimit implements the TypedOperation interface.
     9  var _ TypedOperation = (*SetDepositsLimit)(nil)
    10  
    11  // SetDepositsLimit represents a baker deposit limit update operation.
    12  type SetDepositsLimit struct {
    13  	Manager
    14  	Limit    int64             `json:"limit,string"`
    15  	Metadata OperationMetadata `json:"metadata"`
    16  }
    17  
    18  // Meta returns operation metadata to implement TypedOperation interface.
    19  func (r SetDepositsLimit) Meta() OperationMetadata {
    20  	return r.Metadata
    21  }
    22  
    23  // Result returns operation result to implement TypedOperation interface.
    24  func (r SetDepositsLimit) Result() OperationResult {
    25  	return r.Metadata.Result
    26  }
    27  
    28  // Costs returns operation cost to implement TypedOperation interface.
    29  func (r SetDepositsLimit) Costs() mavryk.Costs {
    30  	return mavryk.Costs{
    31  		Fee:     r.Manager.Fee,
    32  		GasUsed: r.Metadata.Result.Gas(),
    33  	}
    34  }