This package provides TypeScript bindings for the Akash API, generated from protobuf definitions.
To install the package, run:
npm install @akashnetwork/akash-api
You can import the generated namespaces from the package like this:
import * as akashDeploymentV1beta1 from '@akashnetwork/akash-api/akash/deployment/v1beta1';
import * as akashDiscoveryV1 from '@akashnetwork/akash-api/akash/discovery/v1';
// ... and so on for other namespaces
If you're using TypeScript 4.5 or above, the package exports all the paths of the generated namespaces, so you can import them directly.
If you're using a version of TypeScript below 4.5, the package provides a tsconfig.paths.json file that you can extend in your local TypeScript configuration to resolve the paths. Here's how you can do it: In your tsconfig.json file, add the following:
{
"extends": "@akashnetwork/akash-api/tsconfig.paths.json"
}
Contributions are welcome. Please submit a pull request or create an issue to discuss the changes you want to make.
The files in the src/generated
directory are auto-generated and should not be modified directly. If you need to make changes to these files, follow the steps below:
-
Create a new file in the
src/patch
directory with the same path as the file you want to modify. For example, if you want to modifysrc/generated/cosmos/base/v1beta1/coin.ts
, you should create the directorysrc/patch/cosmos/base/v1beta1/coin.ts
. -
Add your changes to a new file in the
src/patch
directory. The new file should have the same name as the file you want to modify. -
Rename the original file in the
src/generated
directory by appending.original.ts
to its name. For example,src/generated/cosmos/base/v1beta1/coin.ts
should be renamed tosrc/generated/cosmos/base/v1beta1/coin.original.ts
. -
Create a new file in the
src/generated
directory with the same name as the original file. This new file should re-export everything from the corresponding file in thesrc/patch
directory. For example, the content ofsrc/generated/cosmos/base/v1beta1/coin.ts
should be:
export * from '../../../../patch/cosmos/base/v1beta1/coin';
NOTE: Naming and paths are important to prevent the original file from being overwritten when the code is regenerated. See script/preserve-ts-patches.sh
and script/restore-ts-patches.sh
for more implementation details.
This package is licensed under the Apache-2.0.