diff --git a/CHANGELOG.md b/CHANGELOG.md index 1af4996d2b..f64a2f3b54 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,10 @@ incremented for features. ## [Unreleased] +### Fixes + +* ts: Allow nullable types for `Option` mapped types ([#1428](https://github.com/project-serum/anchor/pull/1428)). + ### Breaking * lang: Enforce that the payer for an init-ed account be marked `mut` ([#1271](https://github.com/project-serum/anchor/pull/1271)). diff --git a/ts/src/program/namespace/types.ts b/ts/src/program/namespace/types.ts index 5c80411abc..be278dfde6 100644 --- a/ts/src/program/namespace/types.ts +++ b/ts/src/program/namespace/types.ts @@ -107,7 +107,7 @@ export type DecodeType = T extends keyof TypeMap : T extends { option: { defined: keyof Defined } } ? Defined[T["option"]["defined"]] | null : T extends { option: keyof TypeMap } - ? TypeMap[T["option"]] + ? TypeMap[T["option"]] | null : T extends { vec: keyof TypeMap } ? TypeMap[T["vec"]][] : T extends { array: [defined: keyof TypeMap, size: number] }