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 }