MCPcopy
hub / github.com/canopy-network/canopy / GetFeeForMessageName

Method GetFeeForMessageName

fsm/message.go:592–635  ·  view source on GitHub ↗

GetFeeForMessageName() returns the associated cost for processing a specific type of message based on the name

(name string)

Source from the content-addressed store, hash-verified

590
591// GetFeeForMessageName() returns the associated cost for processing a specific type of message based on the name
592func (s *StateMachine) GetFeeForMessageName(name string) (fee uint64, err lib.ErrorI) {
593 // retrieve the fee parameters from the state
594 feeParams, err := s.GetParamsFee()
595 if err != nil {
596 return 0, err
597 }
598 // return the proper fee based on the message name
599 switch name {
600 case MessageSendName:
601 return feeParams.SendFee, nil
602 case MessageStakeName:
603 return feeParams.StakeFee, nil
604 case MessageEditStakeName:
605 return feeParams.EditStakeFee, nil
606 case MessageUnstakeName:
607 return feeParams.UnstakeFee, nil
608 case MessagePauseName:
609 return feeParams.PauseFee, nil
610 case MessageUnpauseName:
611 return feeParams.UnpauseFee, nil
612 case MessageChangeParameterName:
613 return feeParams.ChangeParameterFee, nil
614 case MessageDAOTransferName:
615 return feeParams.DaoTransferFee, nil
616 case MessageCertificateResultsName:
617 return feeParams.CertificateResultsFee, nil
618 case MessageSubsidyName:
619 return feeParams.SubsidyFee, nil
620 case MessageCreateOrderName:
621 return feeParams.CreateOrderFee, nil
622 case MessageEditOrderName:
623 return feeParams.EditOrderFee, nil
624 case MessageDeleteOrderName:
625 return feeParams.DeleteOrderFee, nil
626 case MessageDexLimitOrderName:
627 return feeParams.DexLimitOrderFee, nil
628 case MessageDexLiquidityDepositName:
629 return feeParams.DexLiquidityDepositFee, nil
630 case MessageDexLiquidityWithdrawName:
631 return feeParams.DexLiquidityWithdrawFee, nil
632 default:
633 return 0, lib.ErrUnknownMessageName(name)
634 }
635}
636
637// GetAuthorizedSignersFor() returns the addresses that are authorized to sign for this message
638func (s *StateMachine) GetAuthorizedSignersFor(msg lib.MessageI) (signers [][]byte, err lib.ErrorI) {

Callers 3

CheckFeeMethod · 0.95
TestGetFeeForMessageFunction · 0.80
getFeeFromStateMethod · 0.80

Calls 2

GetParamsFeeMethod · 0.95
ErrUnknownMessageNameFunction · 0.92

Tested by 1

TestGetFeeForMessageFunction · 0.64