Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ assignees: ''
<!-- Check all that apply -->

- [ ] `@avalanche-sdk/client` (Core RPC functionality)
- [ ] `@avalanche-sdk/devtools` (Development tools and utilities)
- [ ] `@avalanche-sdk/chainkit` (All Data, Metrics and Webhooks API support)
- [ ] `@avalanche-sdk/interchain` (Cross-chain messaging)
- [ ] `@avalanche-sdk/sdk` (Unified SDK - all features)
- [ ] Documentation
Expand Down Expand Up @@ -81,7 +81,7 @@ assignees: ''

{
"@avalanche-sdk/client": "0.0.4-alpha.10",
"@avalanche-sdk/devtools": "0.2.1",
"@avalanche-sdk/chainkit": "0.2.2",
"@avalanche-sdk/interchain": "0.0.1-alpha.1",
"@avalanche-sdk/sdk": "1.3.0",
}
Expand Down
4 changes: 1 addition & 3 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@ assignees: ''
<!-- Check all that apply -->

- [ ] `@avalanche-sdk/client` (Core RPC functionality)
- [ ] `@avalanche-sdk/data` (Data analytics and historical data)
- [ ] `@avalanche-sdk/devtools` (Development tools and utilities)
- [ ] `@avalanche-sdk/chainkit` (All Data, Metrics and Webhooks API support)
- [ ] `@avalanche-sdk/interchain` (Cross-chain messaging)
- [ ] `@avalanche-sdk/metrics` (Network metrics and monitoring)
- [ ] `@avalanche-sdk/sdk` (Unified SDK - all features)
- [ ] Documentation improvements
- [ ] Examples and tutorials
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Generate Devtools SDK
name: Generate ChainKit SDK
permissions:
checks: write
contents: write
Expand All @@ -18,13 +18,13 @@ permissions:
schedule:
- cron: 30 18 * * *
jobs:
generate_devtools_sdk:
generate_chainkit_sdk:
uses: speakeasy-api/sdk-generation-action/.github/workflows/workflow-executor.yaml@v15
with:
force: ${{ github.event.inputs.force }}
mode: pr
set_version: ${{ github.event.inputs.set_version }}
target: devtools-sdk
target: chainkit-sdk
secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
npm_token: ${{ secrets.NPM_TOKEN }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Publish Devtools SDK
name: Publish ChainKit SDK
permissions:
checks: write
contents: write
Expand All @@ -9,9 +9,9 @@ permissions:
branches:
- main
paths:
- devtools/RELEASES.md
- chainkit/RELEASES.md
jobs:
publish_devtools_sdk:
publish_chainkit_sdk:
uses: speakeasy-api/sdk-generation-action/.github/workflows/sdk-publish.yaml@v15
secrets:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/sdk_generate_docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Generate SDK Docs
branches:
- main
paths:
- devtools/RELEASES.md
- chainkit/RELEASES.md
workflow_dispatch: # Allows manual triggering from GitHub Actions

permissions:
Expand Down
154 changes: 19 additions & 135 deletions .speakeasy/workflow.lock
Original file line number Diff line number Diff line change
@@ -1,159 +1,43 @@
speakeasyVersion: 1.598.2
speakeasyVersion: 1.600.2
sources:
data-source:
sourceNamespace: avalanche-sdk-data-typescript
sourceRevisionDigest: sha256:c792081798068b290365f34d8260c725a3fc8b21fbd29bee4d138b26b039924e
sourceBlobDigest: sha256:2148c2ffe68732a9227a87fa96eff44710c3ef27501c2036e84f8809e2ced5a5
chainkit-source:
sourceNamespace: avalanche-sdk-chainkit-typescript
sourceRevisionDigest: sha256:9c3c1c9bededfb64c85c874865db9b8bf4621b0aa65f9a5bf4abababe387ec24
sourceBlobDigest: sha256:214dff750535e03d96c20a978cfa47a413d04c88d47f996ae148473b45c669df
tags:
- latest
- speakeasy-sdk-regen-1754505903
- 1.0.0
devtools-source:
sourceNamespace: avalanche-sdk-devtools-typescript
sourceRevisionDigest: sha256:b4f1a31e1e21059d077232a7cb4f8ef1f77b5ff88fe7dde795d2e576f6cb68ed
sourceBlobDigest: sha256:0ecd1a04976d32bcfa1940cbf80a15793bf778f6134ab718a4ecc70c15f840d0
tags:
- latest
- speakeasy-sdk-regen-1754419361
- 1.0.0
metrics-source:
sourceNamespace: avalanche-sdk-metrics-typescript
sourceRevisionDigest: sha256:faad3b1fcc9d848d72808beb7bbc53e4fccc7e82b17701fdc9c93874aed55264
sourceBlobDigest: sha256:087b853f5d79fc9f4ea4457e76054eb44d72a27de770ef1cfe76b192c0a532a2
tags:
- latest
- speakeasy-sdk-regen-1754505752
- 1.0.0
webhooks-source:
sourceNamespace: avalanche-sdk-webhooks-typescript
sourceRevisionDigest: sha256:a243a6c417686cc0d74eff745b675a100037d32af228bdfe4f3f9f99a9a5a1eb
sourceBlobDigest: sha256:ffaa2f386cd834d338af7b35e9098351f5efbaa356ff27791447b566316cfe5e
tags:
- latest
- speakeasy-sdk-regen-1754419634
- 1.0.0
targets:
avalanche:
source: metrics-source
sourceNamespace: avalanche-sdk-metrics-typescript
sourceRevisionDigest: sha256:a03cf954b8a9ab411af917229e651e87630a12703271f87b13a84eb915444486
sourceBlobDigest: sha256:fb4668172f91d4f38dc51bc8bc7c0bee11c924c63c8aba6d22d9b4d66302acb1
codeSamplesNamespace: avalanche-sdk-metrics-typescript-code-samples
codeSamplesRevisionDigest: sha256:14d9f387e3c309a88f573d5775768b039b089c94117ac33ac188d0b9066898cd
data-sdk:
source: data-source
sourceNamespace: avalanche-sdk-data-typescript
sourceRevisionDigest: sha256:c792081798068b290365f34d8260c725a3fc8b21fbd29bee4d138b26b039924e
sourceBlobDigest: sha256:2148c2ffe68732a9227a87fa96eff44710c3ef27501c2036e84f8809e2ced5a5
codeSamplesNamespace: avalanche-sdk-data-typescript-code-samples
codeSamplesRevisionDigest: sha256:8f593f99cb1f1ce88d0b5653c1e21637136219d96e87a5f4bd776bc7a253e76e
devtools-sdk:
source: devtools-source
sourceNamespace: avalanche-sdk-devtools-typescript
sourceRevisionDigest: sha256:b4f1a31e1e21059d077232a7cb4f8ef1f77b5ff88fe7dde795d2e576f6cb68ed
sourceBlobDigest: sha256:0ecd1a04976d32bcfa1940cbf80a15793bf778f6134ab718a4ecc70c15f840d0
codeSamplesNamespace: avalanche-sdk-devtools-typescript-code-samples
codeSamplesRevisionDigest: sha256:4c52107d66a24d94cfea729d754cd18a2556f2137d72b93400bf7e620b2b8ba5
metrics-sdk:
source: metrics-source
sourceNamespace: avalanche-sdk-metrics-typescript
sourceRevisionDigest: sha256:faad3b1fcc9d848d72808beb7bbc53e4fccc7e82b17701fdc9c93874aed55264
sourceBlobDigest: sha256:087b853f5d79fc9f4ea4457e76054eb44d72a27de770ef1cfe76b192c0a532a2
codeSamplesNamespace: avalanche-sdk-metrics-typescript-code-samples
codeSamplesRevisionDigest: sha256:39dc73d86f74b525e745c3b4757d873071b634a270708b93bb81a4d70250ff07
webhooks-sdk:
source: webhooks-source
sourceNamespace: avalanche-sdk-webhooks-typescript
sourceRevisionDigest: sha256:a243a6c417686cc0d74eff745b675a100037d32af228bdfe4f3f9f99a9a5a1eb
sourceBlobDigest: sha256:ffaa2f386cd834d338af7b35e9098351f5efbaa356ff27791447b566316cfe5e
codeSamplesNamespace: avalanche-sdk-webhooks-typescript-code-samples
codeSamplesRevisionDigest: sha256:ff2a6308271cbaa3c2c43be62bbea2709fb7ea0cb6f47cf9896701a560d2d0cd
chainkit-sdk:
source: chainkit-source
sourceNamespace: avalanche-sdk-chainkit-typescript
sourceRevisionDigest: sha256:9c3c1c9bededfb64c85c874865db9b8bf4621b0aa65f9a5bf4abababe387ec24
sourceBlobDigest: sha256:214dff750535e03d96c20a978cfa47a413d04c88d47f996ae148473b45c669df
codeSamplesNamespace: avalanche-sdk-chainkit-typescript-code-samples
codeSamplesRevisionDigest: sha256:a51e4cdad495293f61143fc8c375227f127fe8e92affcfd273ac63428a4e78a7
workflow:
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
data-source:
inputs:
- location: https://glacier-api.avax.network/api-json
overlays:
- location: data/overlays/overlay.yaml
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-data-typescript
devtools-source:
chainkit-source:
inputs:
- location: https://popsicle-api.avax.network/api-json
- location: https://glacier-api.avax.network/api-json
overlays:
- location: devtools/overlays/overlay.yaml
- location: chainkit/overlays/overlay.yaml
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-devtools-typescript
metrics-source:
inputs:
- location: https://popsicle-api.avax.network/api-json
overlays:
- location: metrics/overlays/overlay.yaml
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-metrics-typescript
webhooks-source:
inputs:
- location: https://glacier-api.avax.network/api-json
overlays:
- location: webhooks/overlays/overlay.yaml
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-webhooks-typescript
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-chainkit-typescript
targets:
data-sdk:
target: typescript
source: data-source
output: data
publish:
npm:
token: $npm_token
codeSamples:
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-data-typescript-code-samples
langOverride: javascript
labelOverride:
fixedValue: JavaScript
blocking: false
devtools-sdk:
target: typescript
source: devtools-source
output: devtools
publish:
npm:
token: $npm_token
codeSamples:
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-devtools-typescript-code-samples
langOverride: javascript
labelOverride:
fixedValue: JavaScript
blocking: false
metrics-sdk:
target: typescript
source: metrics-source
output: metrics
publish:
npm:
token: $npm_token
codeSamples:
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-metrics-typescript-code-samples
langOverride: javascript
labelOverride:
fixedValue: JavaScript
blocking: false
webhooks-sdk:
chainkit-sdk:
target: typescript
source: webhooks-source
output: webhooks
source: chainkit-source
output: chainkit
publish:
npm:
token: $npm_token
codeSamples:
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-webhooks-typescript-code-samples
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-chainkit-typescript-code-samples
langOverride: javascript
labelOverride:
fixedValue: JavaScript
Expand Down
16 changes: 8 additions & 8 deletions .speakeasy/workflow.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
workflowVersion: 1.0.0
speakeasyVersion: latest
sources:
devtools-source:
chainkit-source:
inputs:
- location: https://popsicle-api.avax.network/api-json
- location: https://glacier-api.avax.network/api-json
overlays:
- location: devtools/overlays/overlay.yaml
- location: chainkit/overlays/overlay.yaml
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-devtools-typescript
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-chainkit-typescript
targets:
devtools-sdk:
chainkit-sdk:
target: typescript
source: devtools-source
output: devtools
source: chainkit-source
output: chainkit
publish:
npm:
token: $npm_token
codeSamples:
registry:
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-devtools-typescript-code-samples
location: registry.speakeasyapi.dev/avalabs/avalabs/avalanche-sdk-chainkit-typescript-code-samples
langOverride: javascript
labelOverride:
fixedValue: JavaScript
blocking: false
blocking: false
2 changes: 2 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,11 @@
"Bech",
"cChain",
"ccip",
"chainkit",
"delegators",
"deployless",
"Indicies",
"Interchain",
"Keccak",
"labelhash",
"locktime",
Expand Down
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@

Initial release with multiple packages in monorepo structure:

- Add `@avalanche-sdk/sdk` package - Main SDK combining client and devtools functionality
- Add `@avalanche-sdk/sdk` package - Main SDK combining client and chainkit functionality
- Add `@avalanche-sdk/client` package - Core RPC client with C-Chain, P-Chain, and X-Chain support
- Add `@avalanche-sdk/interchain` package - ICM/ICTT messaging and Teleporter integration
- Add `@avalanche-sdk/devtools` package - Development tools and utilities
- Add `@avalanche-sdk/chainkit` package
- Add TypeScript support across all packages
- Add comprehensive documentation
- Add Code of Conduct
18 changes: 9 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,35 +53,33 @@ We welcome pull requests! Here's how to contribute code:
This is a monorepo containing multiple packages. To get started:

1. Clone the repository:

```bash
git clone https://github.com/ava-labs/avalanche-sdk-typescript.git
cd avalanche-sdk-typescript
```

2. Navigate to the package you want to work on:

```bash
cd client # or data, devtools, sdk, etc.
cd client # or data, chainkit, sdk, etc.
```

3. Install dependencies:

```bash
npm install
```

4. Build the package:

```bash
npm run build:all
```

### Package Structure

- **client/** - Core Avalanche client SDK
- **data/** - Data API SDK (contains generated code)
- **devtools/** - Development tools (contains generated code)
- **sdk/** - Main SDK package combining client and devtools
- **chainkit/** - Development tools (contains generated code)
- **sdk/** - Main SDK package combining client and chainkit
- **interchain/** - Interchain messaging SDK
- **metrics/** - Metrics SDK (contains generated code)
- **webhooks/** - Webhooks SDK (contains generated code)

**Note:** Some packages contain generated code. For these packages, we do not accept direct changes to the generated files. Instead, please report issues and we'll address them in the upstream source.

Expand All @@ -107,6 +105,7 @@ footer
```

Types:

- **feat**: New feature
- **fix**: Bug fix
- **docs**: Documentation changes
Expand All @@ -116,6 +115,7 @@ Types:
- **chore**: Maintenance tasks

Example:

```
feat(client): add support for subnet validation

Expand Down
Loading