Agenda
現象
Anchorを使ってTypeScriptでProviderを定義するいつものコードを入れたところ、
App.tsx:
import { Provider } from '@project-serum/anchor';
const provider = new AnchorProvider(
connection, wallet, 'processed',
);
以下のエラーが出力された。
ターミナル側(npm start時のエラー):
Attempted import error: 'Provider' is not exported from '@project-serum/anchor'.
エディター側(TypeScriptのエラー):
'Provider' only refers to a type, but is being used as a value here.
原因
Acnrho v0.24 からは、「Provider」ではなく「AnchorProvider」になったとのこと。
対応
Providerとなっている部分をAnchorProviderに変更する。
import { AnchorProvider } from '@project-serum/anchor';
const provider = new AnchorProvider(
connection, wallet, {commitment: 'processed'},
);
参考
@project-serum/anchor - v0.24.2AnchorProvider Class AnchorProvider