Documentation ¶
Index ¶
- Constants
- Variables
- func NewORM(db *sqlx.DB, lggr logger.Logger, cfg pg.LogConfig) *orm
- func NewService(orm ORM, jobORM job.ORM, db *sqlx.DB, jobSpawner job.Spawner, ...) *service
- type Config
- type ConnectOpts
- type ConnectionsManager
- type FeedsManager
- type JobProposal
- type JobProposalStatus
- type NullService
- func (ns NullService) ApproveJobProposal(ctx context.Context, id int64) error
- func (ns NullService) CancelJobProposal(ctx context.Context, id int64) error
- func (ns NullService) Close() error
- func (ns NullService) CountManagers() (int64, error)
- func (ns NullService) CreateJobProposal(jp *JobProposal) (int64, error)
- func (ns NullService) GetJobProposal(id int64) (*JobProposal, error)
- func (ns NullService) GetJobProposalsByManagersIDs(ids []int64) ([]JobProposal, error)
- func (ns NullService) GetManager(id int64) (*FeedsManager, error)
- func (ns NullService) GetManagers(ids []int64) ([]FeedsManager, error)
- func (ns NullService) IsJobManaged(ctx context.Context, jobID int64) (bool, error)
- func (ns NullService) ListJobProposals() ([]JobProposal, error)
- func (ns NullService) ListManagers() ([]FeedsManager, error)
- func (ns NullService) ProposeJob(jp *JobProposal) (int64, error)
- func (ns NullService) RegisterManager(ms *FeedsManager) (int64, error)
- func (ns NullService) RejectJobProposal(ctx context.Context, id int64) error
- func (ns NullService) Start() error
- func (ns NullService) SyncNodeInfo(id int64) error
- func (ns NullService) Unsafe_SetConnectionsManager(_ ConnectionsManager)
- func (ns NullService) UpdateFeedsManager(ctx context.Context, mgr FeedsManager) error
- func (ns NullService) UpdateJobProposalSpec(ctx context.Context, id int64, spec string) error
- type ORM
- type RPCHandlers
- type Service
Constants ¶
View Source
const ( JobTypeFluxMonitor = "fluxmonitor" JobTypeOffchainReporting = "ocr" )
We only support OCR and FM for the feeds manager
Variables ¶
View Source
var ( ErrOCRDisabled = errors.New("ocr is disabled") ErrSingleFeedsManager = errors.New("only a single feeds manager is supported") )
Functions ¶
Types ¶
type Config ¶ added in v0.10.10
type Config interface { ChainID() *big.Int Dev() bool FeatureOffchainReporting() bool DefaultHTTPTimeout() models.Duration OCRBlockchainTimeout() time.Duration OCRContractConfirmations() uint16 OCRContractPollInterval() time.Duration OCRContractSubscribeInterval() time.Duration OCRContractTransmitterTransmitTimeout() time.Duration OCRDatabaseTimeout() time.Duration OCRObservationTimeout() time.Duration OCRObservationGracePeriod() time.Duration LogSQL() bool }
type ConnectOpts ¶ added in v1.0.0
type ConnectOpts struct { FeedsManagerID int64 // URI is the URI of the feeds manager URI string // Privkey defines the local CSA private key Privkey []byte // Pubkey defines the Feeds Manager Service's public key Pubkey []byte // Handlers defines the wsrpc Handlers Handlers pb.NodeServiceServer // OnConnect defines a callback for when the dial succeeds OnConnect func(pb.FeedsManagerClient) }
ConnectOpts defines the required options to connect to an FMS server
type ConnectionsManager ¶ added in v1.0.0
type ConnectionsManager interface { Connect(opts ConnectOpts) Disconnect(id int64) error Close() GetClient(id int64) (pb.FeedsManagerClient, error) IsConnected(id int64) bool }
type FeedsManager ¶
type FeedsManager struct { ID int64 Name string URI string PublicKey crypto.PublicKey JobTypes pq.StringArray // 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 // IsConnectionActive is the indicator of connection activeness IsConnectionActive bool CreatedAt time.Time UpdatedAt time.Time }
FeedsManager contains feeds manager related fields
func (FeedsManager) TableName ¶
func (FeedsManager) TableName() string
type JobProposal ¶ added in v0.10.9
type JobProposal struct { ID int64 // RemoteUUID is the unique id of the proposal in FMS. RemoteUUID uuid.UUID Spec string Status JobProposalStatus // ExternalJobID is the external job id in the spec. ExternalJobID uuid.NullUUID FeedsManagerID int64 Multiaddrs pq.StringArray ProposedAt time.Time CreatedAt time.Time UpdatedAt time.Time }
func (*JobProposal) CanEditSpec ¶ added in v1.1.0
func (jp *JobProposal) CanEditSpec() bool
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" JobProposalStatusCancelled JobProposalStatus = "cancelled" )
type NullService ¶ added in v1.1.0
type NullService struct{}
func (NullService) ApproveJobProposal ¶ added in v1.1.0
func (ns NullService) ApproveJobProposal(ctx context.Context, id int64) error
func (NullService) CancelJobProposal ¶ added in v1.1.0
func (ns NullService) CancelJobProposal(ctx context.Context, id int64) error
func (NullService) Close ¶ added in v1.1.0
func (ns NullService) Close() error
func (NullService) CountManagers ¶ added in v1.1.0
func (ns NullService) CountManagers() (int64, error)
func (NullService) CreateJobProposal ¶ added in v1.1.0
func (ns NullService) CreateJobProposal(jp *JobProposal) (int64, error)
func (NullService) GetJobProposal ¶ added in v1.1.0
func (ns NullService) GetJobProposal(id int64) (*JobProposal, error)
func (NullService) GetJobProposalsByManagersIDs ¶ added in v1.1.0
func (ns NullService) GetJobProposalsByManagersIDs(ids []int64) ([]JobProposal, error)
func (NullService) GetManager ¶ added in v1.1.0
func (ns NullService) GetManager(id int64) (*FeedsManager, error)
func (NullService) GetManagers ¶ added in v1.1.0
func (ns NullService) GetManagers(ids []int64) ([]FeedsManager, error)
func (NullService) IsJobManaged ¶ added in v1.1.0
func (NullService) ListJobProposals ¶ added in v1.1.0
func (ns NullService) ListJobProposals() ([]JobProposal, error)
func (NullService) ListManagers ¶ added in v1.1.0
func (ns NullService) ListManagers() ([]FeedsManager, error)
func (NullService) ProposeJob ¶ added in v1.1.0
func (ns NullService) ProposeJob(jp *JobProposal) (int64, error)
func (NullService) RegisterManager ¶ added in v1.1.0
func (ns NullService) RegisterManager(ms *FeedsManager) (int64, error)
func (NullService) RejectJobProposal ¶ added in v1.1.0
func (ns NullService) RejectJobProposal(ctx context.Context, id int64) error
func (NullService) Start ¶ added in v1.1.0
func (ns NullService) Start() error
func (NullService) SyncNodeInfo ¶ added in v1.1.0
func (ns NullService) SyncNodeInfo(id int64) error
func (NullService) Unsafe_SetConnectionsManager ¶ added in v1.1.0
func (ns NullService) Unsafe_SetConnectionsManager(_ ConnectionsManager)
func (NullService) UpdateFeedsManager ¶ added in v1.1.0
func (ns NullService) UpdateFeedsManager(ctx context.Context, mgr FeedsManager) error
func (NullService) UpdateJobProposalSpec ¶ added in v1.1.0
type ORM ¶
type ORM interface { ApproveJobProposal(id int64, externalJobID uuid.UUID, status JobProposalStatus, qopts ...pg.QOpt) error CancelJobProposal(id int64, qopts ...pg.QOpt) error CountJobProposals() (int64, error) CountManagers() (int64, error) CreateJobProposal(jp *JobProposal) (int64, error) CreateManager(ms *FeedsManager) (int64, error) GetJobProposal(id int64, qopts ...pg.QOpt) (*JobProposal, error) GetJobProposalsByManagersIDs(ids []int64, qopts ...pg.QOpt) ([]JobProposal, error) GetJobProposalByRemoteUUID(uuid uuid.UUID) (*JobProposal, error) GetManager(id int64) (*FeedsManager, error) GetManagers(ids []int64) ([]FeedsManager, error) IsJobManaged(jobID int64, qopts ...pg.QOpt) (bool, error) ListJobProposals() (jps []JobProposal, err error) ListManagers() (mgrs []FeedsManager, err error) UpdateJobProposalSpec(id int64, spec string, qopts ...pg.QOpt) error UpdateJobProposalStatus(id int64, status JobProposalStatus, qopts ...pg.QOpt) error UpdateManager(mgr FeedsManager, qopts ...pg.QOpt) error UpsertJobProposal(jp *JobProposal) (int64, 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) CancelJobProposal(ctx context.Context, id int64) error CreateJobProposal(jp *JobProposal) (int64, error) GetJobProposal(id int64) (*JobProposal, error) GetManager(id int64) (*FeedsManager, error) GetManagers(ids []int64) ([]FeedsManager, error) ListManagers() ([]FeedsManager, error) ListJobProposals() ([]JobProposal, error) GetJobProposalsByManagersIDs(ids []int64) ([]JobProposal, error) ProposeJob(jp *JobProposal) (int64, 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 UpdateFeedsManager(ctx context.Context, mgr FeedsManager) error IsJobManaged(ctx context.Context, jobID int64) (bool, error) Unsafe_SetConnectionsManager(ConnectionsManager) }
Service represents a behavior of the feeds service
Source Files ¶
Click to show internal directories.
Click to hide internal directories.