metering

package
v3.2.1+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 21, 2020 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func List

func List(archivedMetering bool)

Types

type ActiveMetering

type ActiveMetering struct {
	Name                      string               `json:"name"`
	CurrentAgreementId        string               `json:"current_agreement_id"`
	ConsumerId                string               `json:"consumer_id"`
	AgreementFinalizedTime    string               `json:"agreement_finalized_time"`
	AgreementDataReceivedTime string               `json:"agreement_data_received_time"`
	AgreementProtocol         string               `json:"agreement_protocol"`              // the agreement protocol being used. It is also in the proposal.
	MeteringNotificationMsg   MeteringNotification `json:"metering_notification,omitempty"` // the most recent metering notification received
}

func (*ActiveMetering) CopyAgreementInto

func (a *ActiveMetering) CopyAgreementInto(agreement persistence.EstablishedAgreement)

CopyAgreementInto copies the agreement info into our output struct

type ArchivedMetering

type ArchivedMetering struct {
	Name                      string `json:"name"`
	CurrentAgreementId        string `json:"current_agreement_id"`
	ConsumerId                string `json:"consumer_id"`
	AgreementFinalizedTime    string `json:"agreement_finalized_time"`
	AgreementDataReceivedTime string `json:"agreement_data_received_time"`
	AgreementProtocol         string `json:"agreement_protocol"` // the agreement protocol being used. It is also in the proposal.

	AgreementTerminatedTime string `json:"agreement_terminated_time"`
	TerminatedReason        uint64 `json:"terminated_reason"`      // the reason that the agreement was terminated
	TerminatedDescription   string `json:"terminated_description"` // a string form of the reason that the agreement was terminated

	MeteringNotificationMsg MeteringNotification `json:"metering_notification,omitempty"` // the most recent metering notification received
}

func (*ArchivedMetering) CopyAgreementInto

func (a *ArchivedMetering) CopyAgreementInto(agreement persistence.EstablishedAgreement)

CopyAgreementInto copies the agreement info into our output struct

type MeteringNotification

type MeteringNotification struct {
	Amount                 uint64 `json:"amount"`                       // The number of tokens granted by this notification, rounded to the nearest minute
	StartTime              string `json:"start_time"`                   // The time when the agreement started, in seconds since 1970.
	CurrentTime            string `json:"current_time"`                 // The time when the notification was sent, in seconds since 1970.
	MissedTime             uint64 `json:"missed_time"`                  // The amount of time in seconds that the consumer detected missing data
	ConsumerMeterSignature string `json:"consumer_meter_signature"`     // The consumer's signature of the meter (amount, current time, agreement Id)
	AgreementHash          string `json:"agreement_hash"`               // The 32 byte SHA3 FIPS 202 hash of the proposal for the agreement.
	ConsumerSignature      string `json:"consumer_agreement_signature"` // The consumer's signature of the agreement hash.
	ConsumerAddress        string `json:"consumer_address"`             // The consumer's blockchain account/address.
	ProducerSignature      string `json:"producer_agreement_signature"` // The producer's signature of the agreement
	BlockchainType         string `json:"blockchain_type"`              // The type of the blockchain that this notification is intended to work with
}

func (*MeteringNotification) CopyMeteringInto

func (m *MeteringNotification) CopyMeteringInto(metering persistence.MeteringNotification)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL