Skip to content

Commit 847cf24

Browse files
committed
Fix archiver build and relay typecheck on SDK 15.3.1
- archiver: bare sdk() now exposes only the *generated* TracksApi, which doesn't include getTrackDownloadUrl. Switch the archiver's SDK helper to createSdkWithServices so the extended TracksApi (with getTrackDownloadUrl) is wired up. - relay: services.entityManager is now typed as optional on AudiusSdkWithServices but is always populated in practice by the SDK's default services. Add ! assertions at the call sites to keep tsc happy. - relay sandbox: users.updateProfile is gone in 15.3.1; use the equivalent users.updateUser({ id, userId, metadata }) shape.
1 parent 6c5156d commit 847cf24

7 files changed

Lines changed: 17 additions & 14 deletions

File tree

apps/archiver/src/sdk.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { sdk } from '@audius/sdk'
1+
import { createSdkWithServices } from '@audius/sdk'
22
import { readConfig, Environment } from './config'
33

44
const environmentToSdkEnvironment: Record<
@@ -9,7 +9,7 @@ const environmentToSdkEnvironment: Record<
99
prod: 'production'
1010
}
1111

12-
let audiusSdk: ReturnType<typeof sdk> | undefined = undefined
12+
let audiusSdk: ReturnType<typeof createSdkWithServices> | undefined = undefined
1313

1414
export const getAudiusSdk = () => {
1515
if (audiusSdk === undefined) {
@@ -19,7 +19,9 @@ export const getAudiusSdk = () => {
1919
// inspectTrack land in the configured app's rps/rpm bucket on the server's
2020
// rate-limit middleware. The raw downloadFile fetch (which bypasses the
2121
// SDK entirely) attaches api_key itself — see downloadFile in utils.ts.
22-
audiusSdk = sdk({
22+
// Use createSdkWithServices (not sdk()) so tracks.getTrackDownloadUrl is
23+
// available — the bare sdk() factory exposes only the generated TracksApi.
24+
audiusSdk = createSdkWithServices({
2325
appName: 'audius-archiver',
2426
environment: environmentToSdkEnvironment[config.environment],
2527
apiKey: config.apiKey

apps/relay/src/coreRelay.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export const coreRelay = async (
114114
metadata,
115115
subjectSig,
116116
nonce: nonceBytes
117-
} = audiusSdk.services.entityManager.decodeManageEntity(
117+
} = audiusSdk.services.entityManager!.decodeManageEntity(
118118
encodedABI as `0x${string}`
119119
)
120120

apps/relay/src/middleware/rateLimiter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ export const rateLimiterMiddleware = async (
9292
}
9393

9494
export const getEntityManagerActionKey = (encodedABI: string): string => {
95-
const decodedABI = audiusSdk.services.entityManager.decodeManageEntity(
95+
const decodedABI = audiusSdk.services.entityManager!.decodeManageEntity(
9696
encodedABI as `0x${string}`
9797
)
9898
const { action, entityType } = decodedABI

apps/relay/src/middleware/validator.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ export const retrieveUser = async (
195195
// if entitymanager transaction, recover signer
196196
if (contractRegistryKey === 'EntityManager') {
197197
const recoveredAddress =
198-
await audiusSdk.services.entityManager.recoverSigner(
198+
await audiusSdk.services.entityManager!.recoverSigner(
199199
encodedABI as `0x${string}`
200200
)
201201

@@ -232,7 +232,7 @@ export const retrieveDeveloperApp = async (params: {
232232
contractAddress: string
233233
}): Promise<DeveloperApps | undefined> => {
234234
const { encodedABI } = params
235-
const recoveredAddress = await audiusSdk.services.entityManager.recoverSigner(
235+
const recoveredAddress = await audiusSdk.services.entityManager!.recoverSigner(
236236
encodedABI as `0x${string}`
237237
)
238238
return await discoveryDb<DeveloperApps>(Table.DeveloperApps)

apps/relay/src/scripts/sandbox.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ export const main = async () => {
2828
handle: 'totallynotalec'
2929
})
3030
const userId = data?.id!
31-
const res = await audiusSdk.users.updateProfile({
31+
const res = await audiusSdk.users.updateUser({
32+
id: userId,
3233
userId,
3334
metadata: {
3435
bio: `identity has no reigns on me ${new Date().getTime()}`

apps/relay/src/utils.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { audiusSdk } from '.'
22

33
export const isUserCreate = (encodedABI: string): boolean => {
4-
const decodedAbi = audiusSdk.services.entityManager.decodeManageEntity(
4+
const decodedAbi = audiusSdk.services.entityManager!.decodeManageEntity(
55
encodedABI as `0x${string}`
66
)
77
return decodedAbi.action === 'Create' && decodedAbi.entityType === 'User'
@@ -11,7 +11,7 @@ export const isUserDeactivate = (
1111
isDeactivated: boolean,
1212
encodedABI: string
1313
): boolean => {
14-
const decodedAbi = audiusSdk.services.entityManager.decodeManageEntity(
14+
const decodedAbi = audiusSdk.services.entityManager!.decodeManageEntity(
1515
encodedABI as `0x${string}`
1616
)
1717
return (
@@ -23,14 +23,14 @@ export const isUserDeactivate = (
2323
}
2424

2525
export const isTrackDownload = (encodedABI: string) => {
26-
const decodedAbi = audiusSdk.services.entityManager.decodeManageEntity(
26+
const decodedAbi = audiusSdk.services.entityManager!.decodeManageEntity(
2727
encodedABI as `0x${string}`
2828
)
2929
return decodedAbi.action === 'Download' && decodedAbi.entityType === 'Track'
3030
}
3131

3232
export const isViewNotification = (encodedABI: string): boolean => {
33-
const decodedAbi = audiusSdk.services.entityManager.decodeManageEntity(
33+
const decodedAbi = audiusSdk.services.entityManager!.decodeManageEntity(
3434
encodedABI as `0x${string}`
3535
)
3636
return (
@@ -39,7 +39,7 @@ export const isViewNotification = (encodedABI: string): boolean => {
3939
}
4040

4141
export const isViewPlaylistNotification = (encodedABI: string): boolean => {
42-
const decodedAbi = audiusSdk.services.entityManager.decodeManageEntity(
42+
const decodedAbi = audiusSdk.services.entityManager!.decodeManageEntity(
4343
encodedABI as `0x${string}`
4444
)
4545
return (

apps/relay/src/validate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { audiusSdk } from '.'
22

33
/// async in case we need to make a db call
44
export const validateTransactionData = async (encodedABI: string) => {
5-
const decoded = audiusSdk.services.entityManager.decodeManageEntity(
5+
const decoded = audiusSdk.services.entityManager!.decodeManageEntity(
66
encodedABI as `0x${string}`
77
)
88
// TODO: validate decoded tx with zod

0 commit comments

Comments
 (0)