Documentation
¶
Index ¶
Constants ¶
View Source
const ( JobTypeFluxMonitor = "fluxmonitor" JobTypeOffchainReporting = "offchainreporting" )
We only support OCR and FM for the feeds manager
Variables ¶
View Source
var (
ErrOCRDisabled = errors.New("ocr is disabled")
)
Functions ¶
func NewService ¶
func NewService( orm ORM, txm postgres.TransactionManager, jobSpawner job.Spawner, csaKeyStore keystore.CSAKeystoreInterface, ethKeyStore keystore.EthKeyStoreInterface, cfg Config, ) *service
NewService constructs a new feeds service
Types ¶
type Config ¶ added in v0.10.10
type Config interface {
ChainID() *big.Int
Dev() bool
FeatureOffchainReporting() bool
DefaultHTTPTimeout() models.Duration
OCRBlockchainTimeout(override time.Duration) time.Duration
OCRContractConfirmations(override uint16) uint16
OCRContractPollInterval(override time.Duration) time.Duration
OCRContractSubscribeInterval(override time.Duration) time.Duration
OCRContractTransmitterTransmitTimeout() time.Duration
OCRDatabaseTimeout() time.Duration
OCRObservationTimeout(override time.Duration) time.Duration
OCRObservationGracePeriod() time.Duration
}
type FeedsManager ¶
type FeedsManager struct {
ID int64
Name string
URI string
PublicKey crypto.PublicKey
JobTypes pq.StringArray `gorm:"type:text[]"`
// Determines whether the node will be used as a bootstrap peer. If this is
// true, you must have both an OCRBootstrapAddr and OCRBootstrapPeerID.
IsOCRBootstrapPeer bool
// The libp2p multiaddress which the node operator will assign to this node
// for bootstrap peer discovery.
OCRBootstrapPeerMultiaddr null.String
CreatedAt time.Time
UpdatedAt time.Time
}
func (FeedsManager) TableName ¶
func (FeedsManager) TableName() string
type JobProposal ¶ added in v0.10.9
type JobProposalStatus ¶ added in v0.10.9
type JobProposalStatus string
JobProposalStatus are the status codes that define the stage of a proposal
const ( JobProposalStatusPending JobProposalStatus = "pending" JobProposalStatusApproved JobProposalStatus = "approved" JobProposalStatusRejected JobProposalStatus = "rejected" )
type ORM ¶
type ORM interface {
ApproveJobProposal(ctx context.Context, id int64, externalJobID uuid.UUID, status JobProposalStatus) error
CountJobProposals() (int64, error)
CountManagers() (int64, error)
CreateJobProposal(ctx context.Context, jp *JobProposal) (int64, error)
CreateManager(ctx context.Context, ms *FeedsManager) (int64, error)
GetJobProposal(ctx context.Context, id int64) (*JobProposal, error)
GetManager(ctx context.Context, id int64) (*FeedsManager, error)
ListJobProposals(ctx context.Context) ([]JobProposal, error)
ListManagers(ctx context.Context) ([]FeedsManager, error)
UpdateJobProposalSpec(ctx context.Context, id int64, spec string) error
UpdateJobProposalStatus(ctx context.Context, id int64, status JobProposalStatus) error
}
type RPCHandlers ¶ added in v0.10.9
type RPCHandlers struct {
// contains filtered or unexported fields
}
RPCHandlers define handlers for RPC method calls from the Feeds Manager
func NewRPCHandlers ¶ added in v0.10.9
func NewRPCHandlers(svc Service, feedsManagerID int64) *RPCHandlers
func (*RPCHandlers) ProposeJob ¶ added in v0.10.9
func (h *RPCHandlers) ProposeJob(ctx context.Context, req *pb.ProposeJobRequest) (*pb.ProposeJobResponse, error)
ProposeJob creates a new job proposal record for the feeds manager
type Service ¶
type Service interface {
Start() error
Close() error
ApproveJobProposal(ctx context.Context, id int64) error
CountManagers() (int64, error)
CreateJobProposal(jp *JobProposal) (int64, error)
GetJobProposal(id int64) (*JobProposal, error)
GetManager(id int64) (*FeedsManager, error)
ListManagers() ([]FeedsManager, error)
ListJobProposals() ([]JobProposal, error)
RegisterManager(ms *FeedsManager) (int64, error)
RejectJobProposal(ctx context.Context, id int64) error
SyncNodeInfo(id int64) error
UpdateJobProposalSpec(ctx context.Context, id int64, spec string) error
Unsafe_SetFMSClient(pb.FeedsManagerClient)
}
Click to show internal directories.
Click to hide internal directories.