From d45a3926e1fda4dd02b4d575650b08bed3eb6918 Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Thu, 27 Aug 2026 09:12:12 -0700 Subject: [PATCH 1/2] build(repo): use AEP-86 SDK alpha Signed-off-by: Joseph Chalabi --- apps/api/package.json | 2 +- apps/deploy-web/package.json | 2 +- apps/indexer/package.json | 2 +- apps/notifications/package.json | 2 +- apps/provider-inventory/package.json | 2 +- apps/provider-proxy/package.json | 2 +- apps/stats-web/package.json | 2 +- apps/tx-signer/package.json | 2 +- package-lock.json | 24 ++++++++++++------------ packages/network-store/package.json | 2 +- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/apps/api/package.json b/apps/api/package.json index eebb667f54..726ab27e85 100644 --- a/apps/api/package.json +++ b/apps/api/package.json @@ -43,7 +43,7 @@ }, "dependencies": { "@akashnetwork/akash-api": "1.4.3", - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/console-api-types": "*", "@akashnetwork/database": "*", "@akashnetwork/env-loader": "*", diff --git a/apps/deploy-web/package.json b/apps/deploy-web/package.json index a189307cb0..44ee772dab 100644 --- a/apps/deploy-web/package.json +++ b/apps/deploy-web/package.json @@ -26,7 +26,7 @@ "type-check": "tsc" }, "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/console-api-types": "*", "@akashnetwork/env-loader": "*", "@akashnetwork/http-sdk": "*", diff --git a/apps/indexer/package.json b/apps/indexer/package.json index 80a5a94613..94f0e46759 100644 --- a/apps/indexer/package.json +++ b/apps/indexer/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@akashnetwork/akash-api": "1.4.3", - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/database": "*", "@akashnetwork/env-loader": "*", "@akashnetwork/instrumentation": "*", diff --git a/apps/notifications/package.json b/apps/notifications/package.json index 0bff23216b..7e4362215b 100644 --- a/apps/notifications/package.json +++ b/apps/notifications/package.json @@ -36,7 +36,7 @@ "test:watch": "vitest" }, "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/http-sdk": "*", "@akashnetwork/instrumentation": "*", diff --git a/apps/provider-inventory/package.json b/apps/provider-inventory/package.json index 3b6e38edff..468f4e50f5 100644 --- a/apps/provider-inventory/package.json +++ b/apps/provider-inventory/package.json @@ -24,7 +24,7 @@ "test:unit": "vitest run --project unit" }, "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/instrumentation": "*", "@akashnetwork/logging": "*", diff --git a/apps/provider-proxy/package.json b/apps/provider-proxy/package.json index 40ec7c112d..836c637cc7 100644 --- a/apps/provider-proxy/package.json +++ b/apps/provider-proxy/package.json @@ -20,7 +20,7 @@ "test:unit": "vitest run --project unit" }, "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/instrumentation": "*", "@akashnetwork/logging": "*", diff --git a/apps/stats-web/package.json b/apps/stats-web/package.json index 44ebfa7f69..b7d99db4ed 100644 --- a/apps/stats-web/package.json +++ b/apps/stats-web/package.json @@ -14,7 +14,7 @@ "test:unit": "NODE_ENV=test vitest run" }, "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/logging": "*", "@akashnetwork/network-store": "*", diff --git a/apps/tx-signer/package.json b/apps/tx-signer/package.json index a5b8063fd8..690a2b4982 100644 --- a/apps/tx-signer/package.json +++ b/apps/tx-signer/package.json @@ -21,7 +21,7 @@ "test:unit": "vitest run --project unit" }, "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/http-sdk": "*", "@akashnetwork/instrumentation": "*", diff --git a/package-lock.json b/package-lock.json index 29427d428a..266a0fcf50 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "license": "Apache-2.0", "dependencies": { "@akashnetwork/akash-api": "1.4.3", - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/console-api-types": "*", "@akashnetwork/database": "*", "@akashnetwork/env-loader": "*", @@ -542,7 +542,7 @@ "version": "3.31.0", "license": "Apache-2.0", "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/console-api-types": "*", "@akashnetwork/env-loader": "*", "@akashnetwork/http-sdk": "*", @@ -2168,7 +2168,7 @@ "license": "Apache-2.0", "dependencies": { "@akashnetwork/akash-api": "1.4.3", - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/database": "*", "@akashnetwork/env-loader": "*", "@akashnetwork/instrumentation": "*", @@ -2558,7 +2558,7 @@ "version": "2.16.0", "license": "Apache-2.0", "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/http-sdk": "*", "@akashnetwork/instrumentation": "*", @@ -3701,7 +3701,7 @@ "version": "1.0.0", "license": "Apache-2.0", "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/instrumentation": "*", "@akashnetwork/logging": "*", @@ -4041,7 +4041,7 @@ "version": "2.10.2", "license": "Apache-2.0", "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/instrumentation": "*", "@akashnetwork/logging": "*", @@ -4218,7 +4218,7 @@ "name": "@akashnetwork/stats-web", "version": "1.14.1", "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/logging": "*", "@akashnetwork/network-store": "*", @@ -4982,7 +4982,7 @@ "version": "1.2.0", "license": "Apache-2.0", "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/env-loader": "*", "@akashnetwork/http-sdk": "*", "@akashnetwork/instrumentation": "*", @@ -5473,9 +5473,9 @@ } }, "node_modules/@akashnetwork/chain-sdk": { - "version": "1.0.0-alpha.41", - "resolved": "https://registry.npmjs.org/@akashnetwork/chain-sdk/-/chain-sdk-1.0.0-alpha.41.tgz", - "integrity": "sha512-mr3fGDBSISxl0eZF83+IJLVulGSuJVu+MRj6fG61pi2rgfgnv9QEKpdU3w7wtFFt5saJaJNgsqAlyjGZQecZ1A==", + "version": "1.0.0-alpha.43", + "resolved": "https://registry.npmjs.org/@akashnetwork/chain-sdk/-/chain-sdk-1.0.0-alpha.43.tgz", + "integrity": "sha512-+XTgpLn3kibMEWBAOkfmOGo2VJcv+VtT5Uvq966Nk5YMyD9HCYUvdDLm1k167Di1S11t66SH06BhoY1M/m2IWg==", "license": "Apache-2.0", "dependencies": { "@bufbuild/protobuf": "^2.12.0", @@ -45932,7 +45932,7 @@ "version": "1.0.1", "license": "Apache-2.0", "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/net": "*", "jotai": "^2.9.2" }, diff --git a/packages/network-store/package.json b/packages/network-store/package.json index d327cb4813..23265ae324 100644 --- a/packages/network-store/package.json +++ b/packages/network-store/package.json @@ -18,7 +18,7 @@ "validate:types": "tsc --noEmit && echo" }, "dependencies": { - "@akashnetwork/chain-sdk": "1.0.0-alpha.41", + "@akashnetwork/chain-sdk": "1.0.0-alpha.43", "@akashnetwork/net": "*", "jotai": "^2.9.2" }, From 0d1086fbb160d33edc2f32cd3d5c3603bccc1224 Mon Sep 17 00:00:00 2001 From: Joseph Chalabi Date: Thu, 27 Aug 2026 10:02:45 -0700 Subject: [PATCH 2/2] fix(repo): adapt consumers to verification SDK types Keep the optional placement verification field optional at the JSON boundary and avoid expanding the generated type union while building the notifications registry. Signed-off-by: Joseph Chalabi --- .../chain/providers/registry.provider.ts | 20 +++++++++---------- .../groupspec-mapper/groupspec-mapper.ts | 8 +++++++- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/apps/notifications/src/modules/chain/providers/registry.provider.ts b/apps/notifications/src/modules/chain/providers/registry.provider.ts index 529e0135b9..c777d47e1f 100644 --- a/apps/notifications/src/modules/chain/providers/registry.provider.ts +++ b/apps/notifications/src/modules/chain/providers/registry.provider.ts @@ -12,18 +12,16 @@ import type { Provider } from "@nestjs/common"; export const RegistryProvider: Provider = { provide: Registry, useFactory: () => { - const akashTypes: ReadonlyArray<[string, GeneratedType]> = [ - ...Object.values(v1), - ...Object.values(v1beta4), - ...Object.values(v1beta5), - ...Object.values(cosmosv1), - ...Object.values(cosmosv1beta1), - ...Object.values(cosmosv1alpha1), - ...Object.values(cosmosv2alpha1) - ] - .filter(x => "$type" in x) - .map(x => ["/" + x.$type, x as unknown as GeneratedType]); + const modules: ReadonlyArray> = [v1, v1beta4, v1beta5, cosmosv1, cosmosv1beta1, cosmosv1alpha1, cosmosv2alpha1]; + const akashTypes: ReadonlyArray<[string, GeneratedType]> = modules + .flatMap(module => Object.values(module)) + .filter(hasType) + .map(type => ["/" + type.$type, type as unknown as GeneratedType]); return new Registry(akashTypes); } }; + +function hasType(value: unknown): value is { $type: string } { + return typeof value === "object" && value !== null && "$type" in value && typeof value.$type === "string"; +} diff --git a/apps/provider-inventory/src/mappers/groupspec-mapper/groupspec-mapper.ts b/apps/provider-inventory/src/mappers/groupspec-mapper/groupspec-mapper.ts index 8f6fde45ea..71e1c9c4ce 100644 --- a/apps/provider-inventory/src/mappers/groupspec-mapper/groupspec-mapper.ts +++ b/apps/provider-inventory/src/mappers/groupspec-mapper/groupspec-mapper.ts @@ -45,4 +45,10 @@ export function getAttributeFingerprint(attributes: ResourceAttribute[] | undefi .join(","); } -export type GroupSpecJSON = ToJSON; +type GroupSpecRequirementsJSON = ToJSON>; + +export type GroupSpecJSON = Omit, "requirements"> & { + requirements: Omit & { + verification?: GroupSpecRequirementsJSON["verification"]; + }; +};