Конструктор программы Solana web3 ожидает json в качестве одного из параметров
1 ответ
да, есть странная вещь с TypeScript и IdlType в аргументах, если вы посмотрите на представление объекта IDL.
Это связано с этой строкой:
export declare type IdlType = "bool" | "u8" | "i8" | "u16" | "i16" | "u32" | "i32" | "f32" | "u64" | "i64" | "f64" | "u128" | "i128" | "bytes" | "string" | "publicKey" | IdlTypeDefined | IdlTypeOption | IdlTypeCOption | IdlTypeVec | IdlTypeArray;
Исправлено это с помощью обходного пути:
import YOUR_IDL_JSON_OBJECT from '../config/abiSolana/solanaIDL.json'
const a = JSON.stringify(YOUR_IDL_JSON_OBJECT)
const b = JSON.parse(a)
return new Program(b, address, provider)
Когда вы делаете это, компилятор не должен кричать на вас. Если кто-то захочет объяснить, что, черт возьми, не так с перечислением, я был бы счастлив. :)