現象
AnchorのTSファイルをReactに移行していたら発生した現象。
Compiled with problems:X
ERROR in src/App.tsx:166:9
TS2739: Type 'TypeDef<IdlTypeDef, IdlTypes<Idl>>' is missing the following properties from type 'TypeDef<{ name: "escrowAccount"; type: { kind: "struct"; fields: [{ name: "initializerKey"; type: "publicKey"; }, { name: "initializerDepositTokenAccount"; type: "publicKey"; }, { name: "initializerReceiveTokenAccount"; type: "publicKey"; }, { ...; }, { ...; }]; }; } & { ...; }, Record<...>>': initializerDepositTokenAccount, initializerReceiveTokenAccount, initializerAmount, takerAmount, initializerKey
164 | );
165 |
> 166 | let _escrowAccount: EscrowAccount = await program.account.escrowAccount.fetch(escrowAccount.publicKey);
| ^^^^^^^^^^^^^^
167 | // or
168 | // let _escrowAccount = await program.account.escrowAccount.fetch(escrowAccount.publicKey);
169 |
原因
不明。anchor testだと通るのに、React上で実行するとエラーになるため、原因わからず。
対応
暫定的な対応になるが、「// @ts-ignore」をエラーが発生したコードの上に追記するだけ。
// @ts-ignore
let _escrowAccount: EscrowAccount = await program.account.escrowAccount.fetch(escrowAccount.publicKey);