Documentation
¶
Index ¶
- func NewEnclave(config *enclaveconfig.EnclaveConfig, genesis *genesis.Genesis, ...) common.Enclave
- func NewEnclaveAdminAPI(config *enclaveconfig.EnclaveConfig, storage storage.Storage, ...) common.EnclaveAdmin
- func NewEnclaveInitAPI(config *enclaveconfig.EnclaveConfig, storage storage.Storage, ...) common.EnclaveInit
- func NewEnclaveRPCAPI(config *enclaveconfig.EnclaveConfig, storage storage.Storage, ...) common.EnclaveClientRPC
- type RPCServer
- func (s *RPCServer) Attestation(ctx context.Context, _ *generated.AttestationRequest) (*generated.AttestationResponse, error)
- func (s *RPCServer) CreateBatch(ctx context.Context, r *generated.CreateBatchRequest) (*generated.CreateBatchResponse, error)
- func (s *RPCServer) CreateRollup(ctx context.Context, req *generated.CreateRollupRequest) (*generated.CreateRollupResponse, error)
- func (s *RPCServer) DebugTraceTransaction(ctx context.Context, req *generated.DebugTraceTransactionRequest) (*generated.DebugTraceTransactionResponse, error)
- func (s *RPCServer) EnclaveID(ctx context.Context, _ *generated.EnclaveIDRequest) (*generated.EnclaveIDResponse, error)
- func (s *RPCServer) EnclavePublicConfig(ctx context.Context, _ *generated.EnclavePublicConfigRequest) (*generated.EnclavePublicConfigResponse, error)
- func (s *RPCServer) EncryptedRPC(ctx context.Context, req *generated.EncCallRequest) (*generated.EncCallResponse, error)
- func (s *RPCServer) ExportCrossChainData(ctx context.Context, request *generated.ExportCrossChainDataRequest) (*generated.ExportCrossChainDataResponse, error)
- func (s *RPCServer) GenerateSecret(ctx context.Context, _ *generated.GenerateSecretRequest) (*generated.GenerateSecretResponse, error)
- func (s *RPCServer) GetBatch(ctx context.Context, request *generated.GetBatchRequest) (*generated.GetBatchResponse, error)
- func (s *RPCServer) GetBatchBySeqNo(ctx context.Context, request *generated.GetBatchBySeqNoRequest) (*generated.GetBatchResponse, error)
- func (s *RPCServer) GetCode(ctx context.Context, request *generated.GetCodeRequest) (*generated.GetCodeResponse, error)
- func (s *RPCServer) GetRollupData(ctx context.Context, request *generated.GetRollupDataRequest) (*generated.GetRollupDataResponse, error)
- func (s *RPCServer) GetTotalContractCount(ctx context.Context, _ *generated.GetTotalContractCountRequest) (*generated.GetTotalContractCountResponse, error)
- func (s *RPCServer) HealthCheck(ctx context.Context, _ *generated.EmptyArgs) (*generated.HealthCheckResponse, error)
- func (s *RPCServer) InitEnclave(ctx context.Context, request *generated.InitEnclaveRequest) (*generated.InitEnclaveResponse, error)
- func (s *RPCServer) MakeActive(ctx context.Context, in *generated.MakeActiveRequest) (*generated.MakeActiveResponse, error)
- func (s *RPCServer) RPCEncryptionKey(ctx context.Context, _ *generated.RPCEncryptionKeyRequest) (*generated.RPCEncryptionKeyResponse, error)
- func (s *RPCServer) StartServer() error
- func (s *RPCServer) Status(ctx context.Context, _ *generated.StatusRequest) (*generated.StatusResponse, error)
- func (s *RPCServer) Stop(context.Context, *generated.StopRequest) (*generated.StopResponse, error)
- func (s *RPCServer) StreamL2Updates(_ *generated.StreamL2UpdatesRequest, ...) error
- func (s *RPCServer) SubmitBatch(ctx context.Context, request *generated.SubmitBatchRequest) (*generated.SubmitBatchResponse, error)
- func (s *RPCServer) SubmitL1Block(ctx context.Context, request *generated.SubmitBlockRequest) (*generated.SubmitBlockResponse, error)
- func (s *RPCServer) Subscribe(ctx context.Context, req *generated.SubscribeRequest) (*generated.SubscribeResponse, error)
- func (s *RPCServer) Unsubscribe(_ context.Context, req *generated.UnsubscribeRequest) (*generated.UnsubscribeResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewEnclave ¶
func NewEnclave(config *enclaveconfig.EnclaveConfig, genesis *genesis.Genesis, mgmtContractLib mgmtcontractlib.MgmtContractLib, logger gethlog.Logger) common.Enclave
NewEnclave creates and initializes all the services of the enclave.
`genesisJSON` is the configuration for the corresponding L1's genesis block. This is used to validate the blocks received from the L1 node if `validateBlocks` is set to true.
func NewEnclaveAdminAPI ¶ added in v1.0.0
func NewEnclaveAdminAPI(config *enclaveconfig.EnclaveConfig, storage storage.Storage, logger gethlog.Logger, blockProcessor components.L1BlockProcessor, registry components.BatchRegistry, batchExecutor components.BatchExecutor, gethEncodingService gethencoding.EncodingService, stopControl *stopcontrol.StopControl, subscriptionManager *events.SubscriptionManager, enclaveKeyService *crypto.EnclaveAttestedKeyService, mempool *components.TxPool, chainConfig *params.ChainConfig, mgmtContractLib mgmtcontractlib.MgmtContractLib, attestationProvider components.AttestationProvider, sharedSecretService *crypto.SharedSecretService, daEncryptionService *crypto.DAEncryptionService) common.EnclaveAdmin
func NewEnclaveInitAPI ¶ added in v1.0.0
func NewEnclaveInitAPI(config *enclaveconfig.EnclaveConfig, storage storage.Storage, logger gethlog.Logger, l1BlockProcessor components.L1BlockProcessor, enclaveKeyService *crypto.EnclaveAttestedKeyService, attestationProvider components.AttestationProvider, sharedSecretService *crypto.SharedSecretService, daEncryptionService *crypto.DAEncryptionService, rpcKeyService *crypto.RPCKeyService) common.EnclaveInit
func NewEnclaveRPCAPI ¶ added in v1.0.0
func NewEnclaveRPCAPI(config *enclaveconfig.EnclaveConfig, storage storage.Storage, logger gethlog.Logger, blockProcessor components.L1BlockProcessor, batchRegistry components.BatchRegistry, gethEncodingService gethencoding.EncodingService, cachingService *storage.CacheService, mempool *components.TxPool, chainConfig *params.ChainConfig, crossChainProcessors *crosschain.Processors, scb system.SystemContractCallbacks, subscriptionManager *events.SubscriptionManager, genesis *genesis.Genesis, gasOracle gas.Oracle, sharedSecretService *crypto.SharedSecretService, rpcKeyService *crypto.RPCKeyService) common.EnclaveClientRPC
Types ¶
type RPCServer ¶
type RPCServer struct { generated.UnimplementedEnclaveProtoServer // contains filtered or unexported fields }
RPCServer receives RPC calls to the enclave process and relays them to the enclave.Enclave.
func NewEnclaveRPCServer ¶
func NewEnclaveRPCServer(listenAddress string, enclave common.Enclave, logger gethlog.Logger) *RPCServer
NewEnclaveRPCServer prepares an enclave RPCServer (doesn't start listening until `StartServer` is called
func (*RPCServer) Attestation ¶
func (s *RPCServer) Attestation(ctx context.Context, _ *generated.AttestationRequest) (*generated.AttestationResponse, error)
func (*RPCServer) CreateBatch ¶
func (s *RPCServer) CreateBatch(ctx context.Context, r *generated.CreateBatchRequest) (*generated.CreateBatchResponse, error)
func (*RPCServer) CreateRollup ¶
func (s *RPCServer) CreateRollup(ctx context.Context, req *generated.CreateRollupRequest) (*generated.CreateRollupResponse, error)
func (*RPCServer) DebugTraceTransaction ¶
func (s *RPCServer) DebugTraceTransaction(ctx context.Context, req *generated.DebugTraceTransactionRequest) (*generated.DebugTraceTransactionResponse, error)
func (*RPCServer) EnclaveID ¶ added in v0.21.0
func (s *RPCServer) EnclaveID(ctx context.Context, _ *generated.EnclaveIDRequest) (*generated.EnclaveIDResponse, error)
func (*RPCServer) EnclavePublicConfig ¶
func (s *RPCServer) EnclavePublicConfig(ctx context.Context, _ *generated.EnclavePublicConfigRequest) (*generated.EnclavePublicConfigResponse, error)
func (*RPCServer) EncryptedRPC ¶ added in v1.0.0
func (s *RPCServer) EncryptedRPC(ctx context.Context, req *generated.EncCallRequest) (*generated.EncCallResponse, error)
func (*RPCServer) ExportCrossChainData ¶ added in v0.24.1
func (s *RPCServer) ExportCrossChainData(ctx context.Context, request *generated.ExportCrossChainDataRequest) (*generated.ExportCrossChainDataResponse, error)
func (*RPCServer) GenerateSecret ¶
func (s *RPCServer) GenerateSecret(ctx context.Context, _ *generated.GenerateSecretRequest) (*generated.GenerateSecretResponse, error)
func (*RPCServer) GetBatch ¶
func (s *RPCServer) GetBatch(ctx context.Context, request *generated.GetBatchRequest) (*generated.GetBatchResponse, error)
func (*RPCServer) GetBatchBySeqNo ¶
func (s *RPCServer) GetBatchBySeqNo(ctx context.Context, request *generated.GetBatchBySeqNoRequest) (*generated.GetBatchResponse, error)
func (*RPCServer) GetCode ¶
func (s *RPCServer) GetCode(ctx context.Context, request *generated.GetCodeRequest) (*generated.GetCodeResponse, error)
func (*RPCServer) GetRollupData ¶ added in v0.24.0
func (s *RPCServer) GetRollupData(ctx context.Context, request *generated.GetRollupDataRequest) (*generated.GetRollupDataResponse, error)
func (*RPCServer) GetTotalContractCount ¶
func (s *RPCServer) GetTotalContractCount(ctx context.Context, _ *generated.GetTotalContractCountRequest) (*generated.GetTotalContractCountResponse, error)
func (*RPCServer) HealthCheck ¶
func (*RPCServer) InitEnclave ¶
func (s *RPCServer) InitEnclave(ctx context.Context, request *generated.InitEnclaveRequest) (*generated.InitEnclaveResponse, error)
func (*RPCServer) MakeActive ¶ added in v1.0.0
func (s *RPCServer) MakeActive(ctx context.Context, in *generated.MakeActiveRequest) (*generated.MakeActiveResponse, error)
func (*RPCServer) RPCEncryptionKey ¶ added in v1.0.0
func (s *RPCServer) RPCEncryptionKey(ctx context.Context, _ *generated.RPCEncryptionKeyRequest) (*generated.RPCEncryptionKeyResponse, error)
func (*RPCServer) StartServer ¶
StartServer starts a RPCServer on the given port on a separate thread. It creates an enclave.Enclave for the provided nodeID, and uses it to respond to incoming RPC messages from the host.
func (*RPCServer) Status ¶
func (s *RPCServer) Status(ctx context.Context, _ *generated.StatusRequest) (*generated.StatusResponse, error)
Status returns the current status of the RPCServer as an enum value (see common.Status for details)
func (*RPCServer) Stop ¶
func (s *RPCServer) Stop(context.Context, *generated.StopRequest) (*generated.StopResponse, error)
func (*RPCServer) StreamL2Updates ¶
func (s *RPCServer) StreamL2Updates(_ *generated.StreamL2UpdatesRequest, stream generated.EnclaveProto_StreamL2UpdatesServer) error
func (*RPCServer) SubmitBatch ¶
func (s *RPCServer) SubmitBatch(ctx context.Context, request *generated.SubmitBatchRequest) (*generated.SubmitBatchResponse, error)
func (*RPCServer) SubmitL1Block ¶
func (s *RPCServer) SubmitL1Block(ctx context.Context, request *generated.SubmitBlockRequest) (*generated.SubmitBlockResponse, error)
func (*RPCServer) Subscribe ¶
func (s *RPCServer) Subscribe(ctx context.Context, req *generated.SubscribeRequest) (*generated.SubscribeResponse, error)
func (*RPCServer) Unsubscribe ¶
func (s *RPCServer) Unsubscribe(_ context.Context, req *generated.UnsubscribeRequest) (*generated.UnsubscribeResponse, error)
Source Files
¶
Directories
¶
Path | Synopsis |
---|---|
Package debugger: This file was copied/adapted from geth - go-ethereum/eth/tracers
|
Package debugger: This file was copied/adapted from geth - go-ethereum/eth/tracers |