Конструктор программы Solana web3 ожидает json в качестве одного из параметров

Я работаю с машинописным текстом, и мне нужна помощь, как решить проблему. Мой объект-конструктор ожидает, что один из аргументов будет типа Idl, который в основном представляет собой json, сгенерированный из solana. Как я могу это исправить?

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)

Когда вы делаете это, компилятор не должен кричать на вас. Если кто-то захочет объяснить, что, черт возьми, не так с перечислением, я был бы счастлив. :)

Другие вопросы по тегам