github.com/celestiaorg/celestia-node@v0.15.0-beta.1/nodebuilder/da/da.go (about)

     1  package da
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/rollkit/go-da"
     7  )
     8  
     9  //go:generate mockgen -destination=mocks/api.go -package=mocks . Module
    10  type Module interface {
    11  	da.DA
    12  }
    13  
    14  // API is a wrapper around Module for the RPC.
    15  // TODO(@distractedm1nd): These structs need to be autogenerated.
    16  type API struct {
    17  	Internal struct {
    18  		MaxBlobSize func(ctx context.Context) (uint64, error)                                            `perm:"read"`
    19  		Get         func(ctx context.Context, ids []da.ID, ns da.Namespace) ([]da.Blob, error)           `perm:"read"`
    20  		GetIDs      func(ctx context.Context, height uint64, ns da.Namespace) ([]da.ID, error)           `perm:"read"`
    21  		GetProofs   func(ctx context.Context, ids []da.ID, ns da.Namespace) ([]da.Proof, error)          `perm:"read"`
    22  		Commit      func(ctx context.Context, blobs []da.Blob, ns da.Namespace) ([]da.Commitment, error) `perm:"read"`
    23  		Validate    func(context.Context, []da.ID, []da.Proof, da.Namespace) ([]bool, error)             `perm:"read"`
    24  		Submit      func(context.Context, []da.Blob, float64, da.Namespace) ([]da.ID, error)             `perm:"write"`
    25  	}
    26  }
    27  
    28  func (api *API) MaxBlobSize(ctx context.Context) (uint64, error) {
    29  	return api.Internal.MaxBlobSize(ctx)
    30  }
    31  
    32  func (api *API) Get(ctx context.Context, ids []da.ID, ns da.Namespace) ([]da.Blob, error) {
    33  	return api.Internal.Get(ctx, ids, ns)
    34  }
    35  
    36  func (api *API) GetIDs(ctx context.Context, height uint64, ns da.Namespace) ([]da.ID, error) {
    37  	return api.Internal.GetIDs(ctx, height, ns)
    38  }
    39  
    40  func (api *API) GetProofs(ctx context.Context, ids []da.ID, ns da.Namespace) ([]da.Proof, error) {
    41  	return api.Internal.GetProofs(ctx, ids, ns)
    42  }
    43  
    44  func (api *API) Commit(ctx context.Context, blobs []da.Blob, ns da.Namespace) ([]da.Commitment, error) {
    45  	return api.Internal.Commit(ctx, blobs, ns)
    46  }
    47  
    48  func (api *API) Validate(ctx context.Context, ids []da.ID, proofs []da.Proof, ns da.Namespace) ([]bool, error) {
    49  	return api.Internal.Validate(ctx, ids, proofs, ns)
    50  }
    51  
    52  func (api *API) Submit(ctx context.Context, blobs []da.Blob, gasPrice float64, ns da.Namespace) ([]da.ID, error) {
    53  	return api.Internal.Submit(ctx, blobs, gasPrice, ns)
    54  }