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 }