@metaplex-foundation/kinobi 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (416) hide show
  1. package/README.md +7 -0
  2. package/dist/cjs/Kinobi.js +28 -0
  3. package/dist/cjs/Kinobi.js.map +1 -0
  4. package/dist/cjs/idl/Idl.js +3 -0
  5. package/dist/cjs/idl/Idl.js.map +1 -0
  6. package/dist/cjs/idl/IdlAccount.js +3 -0
  7. package/dist/cjs/idl/IdlAccount.js.map +1 -0
  8. package/dist/cjs/idl/IdlDefinedType.js +3 -0
  9. package/dist/cjs/idl/IdlDefinedType.js.map +1 -0
  10. package/dist/cjs/idl/IdlError.js +3 -0
  11. package/dist/cjs/idl/IdlError.js.map +1 -0
  12. package/dist/cjs/idl/IdlInstruction.js +3 -0
  13. package/dist/cjs/idl/IdlInstruction.js.map +1 -0
  14. package/dist/cjs/idl/IdlType.js +3 -0
  15. package/dist/cjs/idl/IdlType.js.map +1 -0
  16. package/dist/cjs/idl/index.js +23 -0
  17. package/dist/cjs/idl/index.js.map +1 -0
  18. package/dist/cjs/index.js +22 -0
  19. package/dist/cjs/index.js.map +1 -0
  20. package/dist/cjs/logs.js +64 -0
  21. package/dist/cjs/logs.js.map +1 -0
  22. package/dist/cjs/nodes/AccountNode.js +89 -0
  23. package/dist/cjs/nodes/AccountNode.js.map +1 -0
  24. package/dist/cjs/nodes/DefinedTypeNode.js +43 -0
  25. package/dist/cjs/nodes/DefinedTypeNode.js.map +1 -0
  26. package/dist/cjs/nodes/ErrorNode.js +43 -0
  27. package/dist/cjs/nodes/ErrorNode.js.map +1 -0
  28. package/dist/cjs/nodes/InstructionNode.js +128 -0
  29. package/dist/cjs/nodes/InstructionNode.js.map +1 -0
  30. package/dist/cjs/nodes/Node.js +15 -0
  31. package/dist/cjs/nodes/Node.js.map +1 -0
  32. package/dist/cjs/nodes/ProgramNode.js +64 -0
  33. package/dist/cjs/nodes/ProgramNode.js.map +1 -0
  34. package/dist/cjs/nodes/RootNode.js +48 -0
  35. package/dist/cjs/nodes/RootNode.js.map +1 -0
  36. package/dist/cjs/nodes/TypeArrayNode.js +31 -0
  37. package/dist/cjs/nodes/TypeArrayNode.js.map +1 -0
  38. package/dist/cjs/nodes/TypeDefinedLinkNode.js +30 -0
  39. package/dist/cjs/nodes/TypeDefinedLinkNode.js.map +1 -0
  40. package/dist/cjs/nodes/TypeEnumEmptyVariantNode.js +30 -0
  41. package/dist/cjs/nodes/TypeEnumEmptyVariantNode.js.map +1 -0
  42. package/dist/cjs/nodes/TypeEnumNode.js +52 -0
  43. package/dist/cjs/nodes/TypeEnumNode.js.map +1 -0
  44. package/dist/cjs/nodes/TypeEnumStructVariantNode.js +37 -0
  45. package/dist/cjs/nodes/TypeEnumStructVariantNode.js.map +1 -0
  46. package/dist/cjs/nodes/TypeEnumTupleVariantNode.js +33 -0
  47. package/dist/cjs/nodes/TypeEnumTupleVariantNode.js.map +1 -0
  48. package/dist/cjs/nodes/TypeEnumVariantNode.js +20 -0
  49. package/dist/cjs/nodes/TypeEnumVariantNode.js.map +1 -0
  50. package/dist/cjs/nodes/TypeLeafNode.js +61 -0
  51. package/dist/cjs/nodes/TypeLeafNode.js.map +1 -0
  52. package/dist/cjs/nodes/TypeLeafWrapperNode.js +26 -0
  53. package/dist/cjs/nodes/TypeLeafWrapperNode.js.map +1 -0
  54. package/dist/cjs/nodes/TypeMapNode.js +35 -0
  55. package/dist/cjs/nodes/TypeMapNode.js.map +1 -0
  56. package/dist/cjs/nodes/TypeNode.js +103 -0
  57. package/dist/cjs/nodes/TypeNode.js.map +1 -0
  58. package/dist/cjs/nodes/TypeOptionNode.js +32 -0
  59. package/dist/cjs/nodes/TypeOptionNode.js.map +1 -0
  60. package/dist/cjs/nodes/TypeSetNode.js +32 -0
  61. package/dist/cjs/nodes/TypeSetNode.js.map +1 -0
  62. package/dist/cjs/nodes/TypeStructFieldNode.js +42 -0
  63. package/dist/cjs/nodes/TypeStructFieldNode.js.map +1 -0
  64. package/dist/cjs/nodes/TypeStructNode.js +32 -0
  65. package/dist/cjs/nodes/TypeStructNode.js.map +1 -0
  66. package/dist/cjs/nodes/TypeTupleNode.js +29 -0
  67. package/dist/cjs/nodes/TypeTupleNode.js.map +1 -0
  68. package/dist/cjs/nodes/TypeVecNode.js +29 -0
  69. package/dist/cjs/nodes/TypeVecNode.js.map +1 -0
  70. package/dist/cjs/nodes/ValueNode.js +57 -0
  71. package/dist/cjs/nodes/ValueNode.js.map +1 -0
  72. package/dist/cjs/nodes/index.js +42 -0
  73. package/dist/cjs/nodes/index.js.map +1 -0
  74. package/dist/cjs/renderers/RenderMap.js +35 -0
  75. package/dist/cjs/renderers/RenderMap.js.map +1 -0
  76. package/dist/cjs/renderers/WriteRenderMapVisitor.js +16 -0
  77. package/dist/cjs/renderers/WriteRenderMapVisitor.js.map +1 -0
  78. package/dist/cjs/renderers/index.js +21 -0
  79. package/dist/cjs/renderers/index.js.map +1 -0
  80. package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js +360 -0
  81. package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js.map +1 -0
  82. package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js +439 -0
  83. package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js.map +1 -0
  84. package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js +198 -0
  85. package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js.map +1 -0
  86. package/dist/cjs/renderers/js/JavaScriptImportMap.js +83 -0
  87. package/dist/cjs/renderers/js/JavaScriptImportMap.js.map +1 -0
  88. package/dist/cjs/renderers/js/RenderJavaScriptValueNode.js +125 -0
  89. package/dist/cjs/renderers/js/RenderJavaScriptValueNode.js.map +1 -0
  90. package/dist/cjs/renderers/js/RenderJavaScriptVisitor.js +28 -0
  91. package/dist/cjs/renderers/js/RenderJavaScriptVisitor.js.map +1 -0
  92. package/dist/cjs/renderers/js/index.js +23 -0
  93. package/dist/cjs/renderers/js/index.js.map +1 -0
  94. package/dist/cjs/renderers/js/templates/accountsIndex.njk +9 -0
  95. package/dist/cjs/renderers/js/templates/accountsPage.njk +122 -0
  96. package/dist/cjs/renderers/js/templates/definedTypesIndex.njk +9 -0
  97. package/dist/cjs/renderers/js/templates/definedTypesPage.njk +13 -0
  98. package/dist/cjs/renderers/js/templates/definedTypesPageDataEnums.njk +26 -0
  99. package/dist/cjs/renderers/js/templates/errorsIndex.njk +9 -0
  100. package/dist/cjs/renderers/js/templates/errorsPage.njk +43 -0
  101. package/dist/cjs/renderers/js/templates/instructionsIndex.njk +9 -0
  102. package/dist/cjs/renderers/js/templates/instructionsPage.njk +71 -0
  103. package/dist/cjs/renderers/js/templates/instructionsPageAccountMetas.njk +61 -0
  104. package/dist/cjs/renderers/js/templates/instructionsPageAccounts.njk +12 -0
  105. package/dist/cjs/renderers/js/templates/instructionsPageArgs.njk +7 -0
  106. package/dist/cjs/renderers/js/templates/layout.njk +9 -0
  107. package/dist/cjs/renderers/js/templates/macros.njk +40 -0
  108. package/dist/cjs/renderers/js/templates/programsIndex.njk +9 -0
  109. package/dist/cjs/renderers/js/templates/programsPage.njk +23 -0
  110. package/dist/cjs/renderers/js/templates/rootIndex.njk +23 -0
  111. package/dist/cjs/renderers/utils.js +42 -0
  112. package/dist/cjs/renderers/utils.js.map +1 -0
  113. package/dist/cjs/utils.js +47 -0
  114. package/dist/cjs/utils.js.map +1 -0
  115. package/dist/cjs/visitors/BaseDelegateVisitor.js +73 -0
  116. package/dist/cjs/visitors/BaseDelegateVisitor.js.map +1 -0
  117. package/dist/cjs/visitors/BaseNodeOrNullVisitor.js +183 -0
  118. package/dist/cjs/visitors/BaseNodeOrNullVisitor.js.map +1 -0
  119. package/dist/cjs/visitors/BaseNodeVisitor.js +144 -0
  120. package/dist/cjs/visitors/BaseNodeVisitor.js.map +1 -0
  121. package/dist/cjs/visitors/BaseThrowVisitor.js +70 -0
  122. package/dist/cjs/visitors/BaseThrowVisitor.js.map +1 -0
  123. package/dist/cjs/visitors/BaseVoidVisitor.js +81 -0
  124. package/dist/cjs/visitors/BaseVoidVisitor.js.map +1 -0
  125. package/dist/cjs/visitors/DefaultVisitor.js +53 -0
  126. package/dist/cjs/visitors/DefaultVisitor.js.map +1 -0
  127. package/dist/cjs/visitors/Dependency.js +3 -0
  128. package/dist/cjs/visitors/Dependency.js.map +1 -0
  129. package/dist/cjs/visitors/NodeSelector.js +79 -0
  130. package/dist/cjs/visitors/NodeSelector.js.map +1 -0
  131. package/dist/cjs/visitors/NodeStack.js +98 -0
  132. package/dist/cjs/visitors/NodeStack.js.map +1 -0
  133. package/dist/cjs/visitors/ValidatorBag.js +64 -0
  134. package/dist/cjs/visitors/ValidatorBag.js.map +1 -0
  135. package/dist/cjs/visitors/Visitable.js +3 -0
  136. package/dist/cjs/visitors/Visitable.js.map +1 -0
  137. package/dist/cjs/visitors/Visitor.js +3 -0
  138. package/dist/cjs/visitors/Visitor.js.map +1 -0
  139. package/dist/cjs/visitors/aggregators/GetByteSizeVisitor.js +130 -0
  140. package/dist/cjs/visitors/aggregators/GetByteSizeVisitor.js.map +1 -0
  141. package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js +300 -0
  142. package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js.map +1 -0
  143. package/dist/cjs/visitors/aggregators/GetDefinedTypeHistogramVisitor.js +157 -0
  144. package/dist/cjs/visitors/aggregators/GetDefinedTypeHistogramVisitor.js.map +1 -0
  145. package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js +111 -0
  146. package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js.map +1 -0
  147. package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js +219 -0
  148. package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js.map +1 -0
  149. package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js +121 -0
  150. package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js.map +1 -0
  151. package/dist/cjs/visitors/aggregators/index.js +23 -0
  152. package/dist/cjs/visitors/aggregators/index.js.map +1 -0
  153. package/dist/cjs/visitors/index.js +31 -0
  154. package/dist/cjs/visitors/index.js.map +1 -0
  155. package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js +94 -0
  156. package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js.map +1 -0
  157. package/dist/cjs/visitors/transformers/AutoSetFixedAccountSizesVisitor.js +56 -0
  158. package/dist/cjs/visitors/transformers/AutoSetFixedAccountSizesVisitor.js.map +1 -0
  159. package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js +100 -0
  160. package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js.map +1 -0
  161. package/dist/cjs/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.js +83 -0
  162. package/dist/cjs/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.js.map +1 -0
  163. package/dist/cjs/visitors/transformers/DeleteNodesVisitor.js +14 -0
  164. package/dist/cjs/visitors/transformers/DeleteNodesVisitor.js.map +1 -0
  165. package/dist/cjs/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.js +62 -0
  166. package/dist/cjs/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.js.map +1 -0
  167. package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js +202 -0
  168. package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js.map +1 -0
  169. package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js +59 -0
  170. package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js.map +1 -0
  171. package/dist/cjs/visitors/transformers/SetLeafWrappersVisitor.js +43 -0
  172. package/dist/cjs/visitors/transformers/SetLeafWrappersVisitor.js.map +1 -0
  173. package/dist/cjs/visitors/transformers/SetMissingDefinedTypesVisitor.js +85 -0
  174. package/dist/cjs/visitors/transformers/SetMissingDefinedTypesVisitor.js.map +1 -0
  175. package/dist/cjs/visitors/transformers/SetStructDefaultValuesVisitor.js +62 -0
  176. package/dist/cjs/visitors/transformers/SetStructDefaultValuesVisitor.js.map +1 -0
  177. package/dist/cjs/visitors/transformers/TransformNodesVisitor.js +156 -0
  178. package/dist/cjs/visitors/transformers/TransformNodesVisitor.js.map +1 -0
  179. package/dist/cjs/visitors/transformers/TransformU8ArraysToBytesVisitor.js +49 -0
  180. package/dist/cjs/visitors/transformers/TransformU8ArraysToBytesVisitor.js.map +1 -0
  181. package/dist/cjs/visitors/transformers/UnwrapDefinedTypesVisitor.js +69 -0
  182. package/dist/cjs/visitors/transformers/UnwrapDefinedTypesVisitor.js.map +1 -0
  183. package/dist/cjs/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.js +59 -0
  184. package/dist/cjs/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.js.map +1 -0
  185. package/dist/cjs/visitors/transformers/UnwrapInstructionArgsStructVisitor.js +44 -0
  186. package/dist/cjs/visitors/transformers/UnwrapInstructionArgsStructVisitor.js.map +1 -0
  187. package/dist/cjs/visitors/transformers/UnwrapStructVisitor.js +74 -0
  188. package/dist/cjs/visitors/transformers/UnwrapStructVisitor.js.map +1 -0
  189. package/dist/cjs/visitors/transformers/UpdateAccountsVisitor.js +57 -0
  190. package/dist/cjs/visitors/transformers/UpdateAccountsVisitor.js.map +1 -0
  191. package/dist/cjs/visitors/transformers/UpdateDefinedTypesVisitor.js +72 -0
  192. package/dist/cjs/visitors/transformers/UpdateDefinedTypesVisitor.js.map +1 -0
  193. package/dist/cjs/visitors/transformers/UpdateErrorsVisitor.js +50 -0
  194. package/dist/cjs/visitors/transformers/UpdateErrorsVisitor.js.map +1 -0
  195. package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js +97 -0
  196. package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js.map +1 -0
  197. package/dist/cjs/visitors/transformers/UpdateProgramsVisitor.js +49 -0
  198. package/dist/cjs/visitors/transformers/UpdateProgramsVisitor.js.map +1 -0
  199. package/dist/cjs/visitors/transformers/_renameHelpers.js +49 -0
  200. package/dist/cjs/visitors/transformers/_renameHelpers.js.map +1 -0
  201. package/dist/cjs/visitors/transformers/index.js +39 -0
  202. package/dist/cjs/visitors/transformers/index.js.map +1 -0
  203. package/dist/cjs/visitors/workers/ConsoleLogVisitor.js +12 -0
  204. package/dist/cjs/visitors/workers/ConsoleLogVisitor.js.map +1 -0
  205. package/dist/cjs/visitors/workers/ThrowValidatorItemsVisitor.js +38 -0
  206. package/dist/cjs/visitors/workers/ThrowValidatorItemsVisitor.js.map +1 -0
  207. package/dist/cjs/visitors/workers/index.js +19 -0
  208. package/dist/cjs/visitors/workers/index.js.map +1 -0
  209. package/dist/types/Kinobi.d.ts +9 -0
  210. package/dist/types/idl/Idl.d.ts +18 -0
  211. package/dist/types/idl/IdlAccount.d.ts +19 -0
  212. package/dist/types/idl/IdlDefinedType.d.ts +6 -0
  213. package/dist/types/idl/IdlError.d.ts +6 -0
  214. package/dist/types/idl/IdlInstruction.d.ts +25 -0
  215. package/dist/types/idl/IdlType.d.ts +60 -0
  216. package/dist/types/idl/index.d.ts +6 -0
  217. package/dist/types/index.d.ts +5 -0
  218. package/dist/types/logs.d.ts +9 -0
  219. package/dist/types/nodes/AccountNode.d.ts +51 -0
  220. package/dist/types/nodes/DefinedTypeNode.d.ts +24 -0
  221. package/dist/types/nodes/ErrorNode.d.ts +21 -0
  222. package/dist/types/nodes/InstructionNode.d.ts +88 -0
  223. package/dist/types/nodes/Node.d.ts +12 -0
  224. package/dist/types/nodes/ProgramNode.d.ts +31 -0
  225. package/dist/types/nodes/RootNode.d.ts +23 -0
  226. package/dist/types/nodes/TypeArrayNode.d.ts +14 -0
  227. package/dist/types/nodes/TypeDefinedLinkNode.d.ts +12 -0
  228. package/dist/types/nodes/TypeEnumEmptyVariantNode.d.ts +12 -0
  229. package/dist/types/nodes/TypeEnumNode.d.ts +16 -0
  230. package/dist/types/nodes/TypeEnumStructVariantNode.d.ts +14 -0
  231. package/dist/types/nodes/TypeEnumTupleVariantNode.d.ts +14 -0
  232. package/dist/types/nodes/TypeEnumVariantNode.d.ts +7 -0
  233. package/dist/types/nodes/TypeLeafNode.d.ts +18 -0
  234. package/dist/types/nodes/TypeLeafWrapperNode.d.ts +21 -0
  235. package/dist/types/nodes/TypeMapNode.d.ts +15 -0
  236. package/dist/types/nodes/TypeNode.d.ts +19 -0
  237. package/dist/types/nodes/TypeOptionNode.d.ts +14 -0
  238. package/dist/types/nodes/TypeSetNode.d.ts +14 -0
  239. package/dist/types/nodes/TypeStructFieldNode.d.ts +24 -0
  240. package/dist/types/nodes/TypeStructNode.d.ts +14 -0
  241. package/dist/types/nodes/TypeTupleNode.d.ts +13 -0
  242. package/dist/types/nodes/TypeVecNode.d.ts +13 -0
  243. package/dist/types/nodes/ValueNode.d.ts +59 -0
  244. package/dist/types/nodes/index.d.ts +25 -0
  245. package/dist/types/renderers/RenderMap.d.ts +8 -0
  246. package/dist/types/renderers/WriteRenderMapVisitor.d.ts +8 -0
  247. package/dist/types/renderers/index.d.ts +4 -0
  248. package/dist/types/renderers/js/GetJavaScriptRenderMapVisitor.d.ts +34 -0
  249. package/dist/types/renderers/js/GetJavaScriptTypeManifestVisitor.d.ts +44 -0
  250. package/dist/types/renderers/js/GetJavaScriptValidatorBagVisitor.d.ts +19 -0
  251. package/dist/types/renderers/js/JavaScriptImportMap.d.ts +11 -0
  252. package/dist/types/renderers/js/RenderJavaScriptValueNode.d.ts +6 -0
  253. package/dist/types/renderers/js/RenderJavaScriptVisitor.d.ts +14 -0
  254. package/dist/types/renderers/js/index.d.ts +6 -0
  255. package/dist/types/renderers/utils.d.ts +5 -0
  256. package/dist/types/utils.d.ts +8 -0
  257. package/dist/types/visitors/BaseDelegateVisitor.d.ts +28 -0
  258. package/dist/types/visitors/BaseNodeOrNullVisitor.d.ts +25 -0
  259. package/dist/types/visitors/BaseNodeVisitor.d.ts +25 -0
  260. package/dist/types/visitors/BaseThrowVisitor.d.ts +25 -0
  261. package/dist/types/visitors/BaseVoidVisitor.d.ts +25 -0
  262. package/dist/types/visitors/DefaultVisitor.d.ts +5 -0
  263. package/dist/types/visitors/Dependency.d.ts +17 -0
  264. package/dist/types/visitors/NodeSelector.d.ts +11 -0
  265. package/dist/types/visitors/NodeStack.d.ts +14 -0
  266. package/dist/types/visitors/ValidatorBag.d.ts +22 -0
  267. package/dist/types/visitors/Visitable.d.ts +4 -0
  268. package/dist/types/visitors/Visitor.d.ts +24 -0
  269. package/dist/types/visitors/aggregators/GetByteSizeVisitor.d.ts +27 -0
  270. package/dist/types/visitors/aggregators/GetDefaultValidatorBagVisitor.d.ts +32 -0
  271. package/dist/types/visitors/aggregators/GetDefinedTypeHistogramVisitor.d.ts +37 -0
  272. package/dist/types/visitors/aggregators/GetNodeInlineStringVisitor.d.ts +25 -0
  273. package/dist/types/visitors/aggregators/GetNodeTreeStringVisitor.d.ts +29 -0
  274. package/dist/types/visitors/aggregators/GetResolvedInstructionAccountsVisitor.d.ts +19 -0
  275. package/dist/types/visitors/aggregators/index.d.ts +6 -0
  276. package/dist/types/visitors/index.d.ts +14 -0
  277. package/dist/types/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.d.ts +8 -0
  278. package/dist/types/visitors/transformers/AutoSetFixedAccountSizesVisitor.d.ts +5 -0
  279. package/dist/types/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.d.ts +8 -0
  280. package/dist/types/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.d.ts +5 -0
  281. package/dist/types/visitors/transformers/DeleteNodesVisitor.d.ts +5 -0
  282. package/dist/types/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.d.ts +12 -0
  283. package/dist/types/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.d.ts +27 -0
  284. package/dist/types/visitors/transformers/SetInstructionDiscriminatorsVisitor.d.ts +18 -0
  285. package/dist/types/visitors/transformers/SetLeafWrappersVisitor.d.ts +8 -0
  286. package/dist/types/visitors/transformers/SetMissingDefinedTypesVisitor.d.ts +7 -0
  287. package/dist/types/visitors/transformers/SetStructDefaultValuesVisitor.d.ts +11 -0
  288. package/dist/types/visitors/transformers/TransformNodesVisitor.d.ts +37 -0
  289. package/dist/types/visitors/transformers/TransformU8ArraysToBytesVisitor.d.ts +8 -0
  290. package/dist/types/visitors/transformers/UnwrapDefinedTypesVisitor.d.ts +11 -0
  291. package/dist/types/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.d.ts +5 -0
  292. package/dist/types/visitors/transformers/UnwrapInstructionArgsStructVisitor.d.ts +4 -0
  293. package/dist/types/visitors/transformers/UnwrapStructVisitor.d.ts +8 -0
  294. package/dist/types/visitors/transformers/UpdateAccountsVisitor.d.ts +11 -0
  295. package/dist/types/visitors/transformers/UpdateDefinedTypesVisitor.d.ts +11 -0
  296. package/dist/types/visitors/transformers/UpdateErrorsVisitor.d.ts +12 -0
  297. package/dist/types/visitors/transformers/UpdateInstructionsVisitor.d.ts +41 -0
  298. package/dist/types/visitors/transformers/UpdateProgramsVisitor.d.ts +9 -0
  299. package/dist/types/visitors/transformers/_renameHelpers.d.ts +3 -0
  300. package/dist/types/visitors/transformers/index.d.ts +22 -0
  301. package/dist/types/visitors/workers/ConsoleLogVisitor.d.ts +4 -0
  302. package/dist/types/visitors/workers/ThrowValidatorItemsVisitor.d.ts +9 -0
  303. package/dist/types/visitors/workers/index.d.ts +2 -0
  304. package/package.json +72 -0
  305. package/src/Kinobi.ts +28 -0
  306. package/src/idl/Idl.ts +19 -0
  307. package/src/idl/IdlAccount.ts +14 -0
  308. package/src/idl/IdlDefinedType.ts +7 -0
  309. package/src/idl/IdlError.ts +6 -0
  310. package/src/idl/IdlInstruction.ts +29 -0
  311. package/src/idl/IdlType.ts +72 -0
  312. package/src/idl/index.ts +6 -0
  313. package/src/index.ts +5 -0
  314. package/src/logs.ts +77 -0
  315. package/src/nodes/AccountNode.ts +126 -0
  316. package/src/nodes/DefinedTypeNode.ts +69 -0
  317. package/src/nodes/ErrorNode.ts +57 -0
  318. package/src/nodes/InstructionNode.ts +215 -0
  319. package/src/nodes/Node.ts +40 -0
  320. package/src/nodes/ProgramNode.ts +101 -0
  321. package/src/nodes/RootNode.ts +64 -0
  322. package/src/nodes/TypeArrayNode.ts +40 -0
  323. package/src/nodes/TypeDefinedLinkNode.ts +40 -0
  324. package/src/nodes/TypeEnumEmptyVariantNode.ts +38 -0
  325. package/src/nodes/TypeEnumNode.ts +67 -0
  326. package/src/nodes/TypeEnumStructVariantNode.ts +50 -0
  327. package/src/nodes/TypeEnumTupleVariantNode.ts +46 -0
  328. package/src/nodes/TypeEnumVariantNode.ts +32 -0
  329. package/src/nodes/TypeLeafNode.ts +73 -0
  330. package/src/nodes/TypeLeafWrapperNode.ts +41 -0
  331. package/src/nodes/TypeMapNode.ts +48 -0
  332. package/src/nodes/TypeNode.ts +138 -0
  333. package/src/nodes/TypeOptionNode.ts +41 -0
  334. package/src/nodes/TypeSetNode.ts +39 -0
  335. package/src/nodes/TypeStructFieldNode.ts +63 -0
  336. package/src/nodes/TypeStructNode.ts +43 -0
  337. package/src/nodes/TypeTupleNode.ts +36 -0
  338. package/src/nodes/TypeVecNode.ts +34 -0
  339. package/src/nodes/ValueNode.ts +92 -0
  340. package/src/nodes/index.ts +25 -0
  341. package/src/renderers/RenderMap.ts +34 -0
  342. package/src/renderers/WriteRenderMapVisitor.ts +15 -0
  343. package/src/renderers/index.ts +4 -0
  344. package/src/renderers/js/GetJavaScriptRenderMapVisitor.ts +437 -0
  345. package/src/renderers/js/GetJavaScriptTypeManifestVisitor.ts +522 -0
  346. package/src/renderers/js/GetJavaScriptValidatorBagVisitor.ts +202 -0
  347. package/src/renderers/js/JavaScriptImportMap.ts +89 -0
  348. package/src/renderers/js/RenderJavaScriptValueNode.ts +110 -0
  349. package/src/renderers/js/RenderJavaScriptVisitor.ts +45 -0
  350. package/src/renderers/js/index.ts +6 -0
  351. package/src/renderers/js/templates/accountsIndex.njk +9 -0
  352. package/src/renderers/js/templates/accountsPage.njk +122 -0
  353. package/src/renderers/js/templates/definedTypesIndex.njk +9 -0
  354. package/src/renderers/js/templates/definedTypesPage.njk +13 -0
  355. package/src/renderers/js/templates/definedTypesPageDataEnums.njk +26 -0
  356. package/src/renderers/js/templates/errorsIndex.njk +9 -0
  357. package/src/renderers/js/templates/errorsPage.njk +43 -0
  358. package/src/renderers/js/templates/instructionsIndex.njk +9 -0
  359. package/src/renderers/js/templates/instructionsPage.njk +71 -0
  360. package/src/renderers/js/templates/instructionsPageAccountMetas.njk +61 -0
  361. package/src/renderers/js/templates/instructionsPageAccounts.njk +12 -0
  362. package/src/renderers/js/templates/instructionsPageArgs.njk +7 -0
  363. package/src/renderers/js/templates/layout.njk +9 -0
  364. package/src/renderers/js/templates/macros.njk +40 -0
  365. package/src/renderers/js/templates/programsIndex.njk +9 -0
  366. package/src/renderers/js/templates/programsPage.njk +23 -0
  367. package/src/renderers/js/templates/rootIndex.njk +23 -0
  368. package/src/renderers/utils.ts +46 -0
  369. package/src/utils.ts +41 -0
  370. package/src/visitors/BaseDelegateVisitor.ts +98 -0
  371. package/src/visitors/BaseNodeOrNullVisitor.ts +202 -0
  372. package/src/visitors/BaseNodeVisitor.ts +173 -0
  373. package/src/visitors/BaseThrowVisitor.ts +101 -0
  374. package/src/visitors/BaseVoidVisitor.ts +104 -0
  375. package/src/visitors/DefaultVisitor.ts +45 -0
  376. package/src/visitors/Dependency.ts +23 -0
  377. package/src/visitors/NodeSelector.ts +82 -0
  378. package/src/visitors/NodeStack.ts +109 -0
  379. package/src/visitors/ValidatorBag.ts +90 -0
  380. package/src/visitors/Visitable.ts +5 -0
  381. package/src/visitors/Visitor.ts +36 -0
  382. package/src/visitors/aggregators/GetByteSizeVisitor.ts +167 -0
  383. package/src/visitors/aggregators/GetDefaultValidatorBagVisitor.ts +332 -0
  384. package/src/visitors/aggregators/GetDefinedTypeHistogramVisitor.ts +213 -0
  385. package/src/visitors/aggregators/GetNodeInlineStringVisitor.ts +140 -0
  386. package/src/visitors/aggregators/GetNodeTreeStringVisitor.ts +260 -0
  387. package/src/visitors/aggregators/GetResolvedInstructionAccountsVisitor.ts +153 -0
  388. package/src/visitors/aggregators/index.ts +6 -0
  389. package/src/visitors/index.ts +15 -0
  390. package/src/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.ts +90 -0
  391. package/src/visitors/transformers/AutoSetFixedAccountSizesVisitor.ts +31 -0
  392. package/src/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.ts +117 -0
  393. package/src/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.ts +72 -0
  394. package/src/visitors/transformers/DeleteNodesVisitor.ts +13 -0
  395. package/src/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.ts +52 -0
  396. package/src/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.ts +236 -0
  397. package/src/visitors/transformers/SetInstructionDiscriminatorsVisitor.ts +54 -0
  398. package/src/visitors/transformers/SetLeafWrappersVisitor.ts +20 -0
  399. package/src/visitors/transformers/SetMissingDefinedTypesVisitor.ts +73 -0
  400. package/src/visitors/transformers/SetStructDefaultValuesVisitor.ts +45 -0
  401. package/src/visitors/transformers/TransformNodesVisitor.ts +215 -0
  402. package/src/visitors/transformers/TransformU8ArraysToBytesVisitor.ts +27 -0
  403. package/src/visitors/transformers/UnwrapDefinedTypesVisitor.ts +65 -0
  404. package/src/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.ts +35 -0
  405. package/src/visitors/transformers/UnwrapInstructionArgsStructVisitor.ts +22 -0
  406. package/src/visitors/transformers/UnwrapStructVisitor.ts +62 -0
  407. package/src/visitors/transformers/UpdateAccountsVisitor.ts +45 -0
  408. package/src/visitors/transformers/UpdateDefinedTypesVisitor.ts +71 -0
  409. package/src/visitors/transformers/UpdateErrorsVisitor.ts +41 -0
  410. package/src/visitors/transformers/UpdateInstructionsVisitor.ts +135 -0
  411. package/src/visitors/transformers/UpdateProgramsVisitor.ts +39 -0
  412. package/src/visitors/transformers/_renameHelpers.ts +47 -0
  413. package/src/visitors/transformers/index.ts +22 -0
  414. package/src/visitors/workers/ConsoleLogVisitor.ts +8 -0
  415. package/src/visitors/workers/ThrowValidatorItemsVisitor.ts +42 -0
  416. package/src/visitors/workers/index.ts +2 -0
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # Kinobi
2
+
3
+ Generate powerful clients for your Solana programs.
4
+
5
+ ![](https://user-images.githubusercontent.com/3642397/217322233-828db66e-3691-47e7-a638-e87178a25cd3.png)
6
+
7
+ _Documentation coming soon..._
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Kinobi = void 0;
4
+ const nodes_1 = require("./nodes");
5
+ const visitors_1 = require("./visitors");
6
+ class Kinobi {
7
+ constructor(idls, useDefaultVisitor = true) {
8
+ this.rootNode = nodes_1.RootNode.fromProgramInputs(idls);
9
+ if (useDefaultVisitor)
10
+ this.update(new visitors_1.DefaultVisitor());
11
+ }
12
+ accept(visitor) {
13
+ return this.rootNode.accept(visitor);
14
+ }
15
+ update(visitor) {
16
+ const newRoot = this.rootNode.accept(visitor);
17
+ (0, nodes_1.assertRootNode)(newRoot);
18
+ this.rootNode = newRoot;
19
+ }
20
+ clone() {
21
+ const newRoot = new nodes_1.RootNode(this.rootNode.programs);
22
+ const kinobi = new Kinobi([]);
23
+ kinobi.rootNode = newRoot;
24
+ return kinobi;
25
+ }
26
+ }
27
+ exports.Kinobi = Kinobi;
28
+ //# sourceMappingURL=Kinobi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kinobi.js","sourceRoot":"","sources":["../../src/Kinobi.ts"],"names":[],"mappings":";;;AAAA,mCAAwE;AACxE,yCAAgE;AAEhE,MAAa,MAAM;IAGjB,YAAY,IAAmB,EAAE,iBAAiB,GAAG,IAAI;QACvD,IAAI,CAAC,QAAQ,GAAG,gBAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,iBAAiB;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,yBAAc,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAI,OAAmB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,OAA6B;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAA,sBAAc,EAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED,KAAK;QACH,MAAM,OAAO,GAAG,IAAI,gBAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxBD,wBAwBC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Idl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Idl.js","sourceRoot":"","sources":["../../../src/idl/Idl.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IdlAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdlAccount.js","sourceRoot":"","sources":["../../../src/idl/IdlAccount.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IdlDefinedType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdlDefinedType.js","sourceRoot":"","sources":["../../../src/idl/IdlDefinedType.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IdlError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdlError.js","sourceRoot":"","sources":["../../../src/idl/IdlError.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IdlInstruction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdlInstruction.js","sourceRoot":"","sources":["../../../src/idl/IdlInstruction.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IdlType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdlType.js","sourceRoot":"","sources":["../../../src/idl/IdlType.ts"],"names":[],"mappings":""}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./Idl"), exports);
18
+ __exportStar(require("./IdlAccount"), exports);
19
+ __exportStar(require("./IdlDefinedType"), exports);
20
+ __exportStar(require("./IdlError"), exports);
21
+ __exportStar(require("./IdlInstruction"), exports);
22
+ __exportStar(require("./IdlType"), exports);
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/idl/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,+CAA6B;AAC7B,mDAAiC;AACjC,6CAA2B;AAC3B,mDAAiC;AACjC,4CAA0B"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./idl"), exports);
18
+ __exportStar(require("./Kinobi"), exports);
19
+ __exportStar(require("./nodes"), exports);
20
+ __exportStar(require("./renderers"), exports);
21
+ __exportStar(require("./visitors"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,2CAAyB;AACzB,0CAAwB;AACxB,8CAA4B;AAC5B,6CAA2B"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.shouldLogLevel = exports.getLevelIndex = exports.logDebug = exports.logTrace = exports.logInfo = exports.logWarn = exports.logError = exports.LOG_LEVELS = void 0;
7
+ /* eslint-disable no-console */
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const DEFAULT_LOG_LEVEL = 'info';
10
+ exports.LOG_LEVELS = ['debug', 'trace', 'info', 'warn', 'error'];
11
+ const logError = (message, hint) => {
12
+ if (!(0, exports.shouldLogLevel)('error'))
13
+ return;
14
+ logMessageAndHint(`${chalk_1.default.bgRed.black(' Error ')} ${chalk_1.default.redBright(message)}`, hint);
15
+ };
16
+ exports.logError = logError;
17
+ const logWarn = (message, hint) => {
18
+ if (!(0, exports.shouldLogLevel)('warn'))
19
+ return;
20
+ logMessageAndHint(`${chalk_1.default.bgYellow.black(' Warning ')} ${chalk_1.default.yellow(message)}`, hint);
21
+ };
22
+ exports.logWarn = logWarn;
23
+ const logInfo = (message, hint) => {
24
+ if (!(0, exports.shouldLogLevel)('info'))
25
+ return;
26
+ logMessageAndHint(`${chalk_1.default.bgBlue.black(' Info ')} ${chalk_1.default.blue(message)}`, hint);
27
+ };
28
+ exports.logInfo = logInfo;
29
+ const logTrace = (message, hint) => {
30
+ if (!(0, exports.shouldLogLevel)('trace'))
31
+ return;
32
+ logMessageAndHint(`${chalk_1.default.bgWhite.black(' Trace ')} ${chalk_1.default.white(message)}`, hint);
33
+ };
34
+ exports.logTrace = logTrace;
35
+ const logDebug = (message, debug, hint) => {
36
+ if (!(0, exports.shouldLogLevel)('debug'))
37
+ return;
38
+ logMessageAndHint(`${chalk_1.default.bgMagentaBright.black(' Debug ')} ${chalk_1.default.magentaBright(message)}`, hint, false);
39
+ if (debug !== undefined)
40
+ console.log(debug);
41
+ console.log('\n');
42
+ };
43
+ exports.logDebug = logDebug;
44
+ const getLevelIndex = (level) => exports.LOG_LEVELS.indexOf(level);
45
+ exports.getLevelIndex = getLevelIndex;
46
+ const shouldLogLevel = (level) => (0, exports.getLevelIndex)(level) >= (0, exports.getLevelIndex)(getMinLogLevel());
47
+ exports.shouldLogLevel = shouldLogLevel;
48
+ const getMinLogLevel = () => {
49
+ const level = process.env.LOG;
50
+ if (level && exports.LOG_LEVELS.includes(level)) {
51
+ return level;
52
+ }
53
+ return DEFAULT_LOG_LEVEL;
54
+ };
55
+ const logMessageAndHint = (message, hint, lineJump = true) => {
56
+ console.log(message + getDimmedHint(hint) + (lineJump ? '\n' : ''));
57
+ };
58
+ const getDimmedHint = (hint, prefix = '|> ') => {
59
+ if (!hint)
60
+ return '';
61
+ const hintArray = (hint !== null && hint !== void 0 ? hint : '').split('\n').filter((line) => !!line);
62
+ return chalk_1.default.dim(hintArray.map((h) => `\n${prefix}${h}`).join(''));
63
+ };
64
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/logs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertAccountNode = exports.isAccountNode = exports.AccountNode = void 0;
4
+ const utils_1 = require("../utils");
5
+ const TypeNode_1 = require("./TypeNode");
6
+ const TypeStructNode_1 = require("./TypeStructNode");
7
+ const TypeLeafNode_1 = require("./TypeLeafNode");
8
+ class AccountNode {
9
+ constructor(metadata, type) {
10
+ this.nodeClass = 'AccountNode';
11
+ this.metadata = {
12
+ ...metadata,
13
+ name: (0, utils_1.mainCase)(metadata.name),
14
+ seeds: metadata.seeds.map((seed) => 'name' in seed ? { ...seed, name: (0, utils_1.mainCase)(seed.name) } : seed),
15
+ };
16
+ this.type = type;
17
+ }
18
+ static fromIdl(idl) {
19
+ var _a, _b, _c, _d, _e;
20
+ const name = (_a = idl.name) !== null && _a !== void 0 ? _a : '';
21
+ const idlStruct = (_b = idl.type) !== null && _b !== void 0 ? _b : { kind: 'struct', fields: [] };
22
+ const type = (0, TypeNode_1.createTypeNodeFromIdl)({ name, ...idlStruct });
23
+ (0, TypeStructNode_1.assertTypeStructNode)(type);
24
+ const seeds = ((_c = idl.seeds) !== null && _c !== void 0 ? _c : []).map((seed) => {
25
+ if (seed.kind === 'variable') {
26
+ return { ...seed, type: (0, TypeNode_1.createTypeNodeFromIdl)(seed.type) };
27
+ }
28
+ return seed;
29
+ });
30
+ const metadata = {
31
+ name,
32
+ idlName: name,
33
+ docs: (_d = idl.docs) !== null && _d !== void 0 ? _d : [],
34
+ internal: false,
35
+ size: (_e = idl.size) !== null && _e !== void 0 ? _e : null,
36
+ discriminator: null,
37
+ seeds,
38
+ };
39
+ return new AccountNode(metadata, type);
40
+ }
41
+ accept(visitor) {
42
+ return visitor.visitAccount(this);
43
+ }
44
+ get name() {
45
+ return this.metadata.name;
46
+ }
47
+ get docs() {
48
+ return this.metadata.docs;
49
+ }
50
+ get discriminatorField() {
51
+ var _a, _b;
52
+ if (((_a = this.metadata.discriminator) === null || _a === void 0 ? void 0 : _a.kind) !== 'field')
53
+ return null;
54
+ const { name } = this.metadata.discriminator;
55
+ return name ? (_b = this.type.fields.find((f) => f.name === name)) !== null && _b !== void 0 ? _b : null : null;
56
+ }
57
+ get variableSeeds() {
58
+ return this.metadata.seeds.filter((seed) => seed.kind === 'variable');
59
+ }
60
+ get hasVariableSeeds() {
61
+ return this.variableSeeds.length > 0;
62
+ }
63
+ get instructionAccountDefaultSeeds() {
64
+ return this.metadata.seeds.reduce((acc, seed) => {
65
+ if (seed.kind !== 'variable')
66
+ return acc;
67
+ if ((0, TypeLeafNode_1.isTypeLeafNode)(seed.type) && seed.type.type === 'publicKey') {
68
+ acc[seed.name] = { kind: 'account', name: seed.name };
69
+ }
70
+ else {
71
+ acc[seed.name] = { kind: 'arg', name: seed.name };
72
+ }
73
+ return acc;
74
+ }, {});
75
+ }
76
+ }
77
+ exports.AccountNode = AccountNode;
78
+ function isAccountNode(node) {
79
+ return !!node && node.nodeClass === 'AccountNode';
80
+ }
81
+ exports.isAccountNode = isAccountNode;
82
+ function assertAccountNode(node) {
83
+ var _a;
84
+ if (!isAccountNode(node)) {
85
+ throw new Error(`Expected AccountNode, got ${(_a = node === null || node === void 0 ? void 0 : node.nodeClass) !== null && _a !== void 0 ? _a : 'null'}.`);
86
+ }
87
+ }
88
+ exports.assertAccountNode = assertAccountNode;
89
+ //# sourceMappingURL=AccountNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AccountNode.js","sourceRoot":"","sources":["../../../src/nodes/AccountNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertDefinedTypeNode = exports.isDefinedTypeNode = exports.DefinedTypeNode = void 0;
4
+ const utils_1 = require("../utils");
5
+ const TypeNode_1 = require("./TypeNode");
6
+ class DefinedTypeNode {
7
+ constructor(metadata, type) {
8
+ this.nodeClass = 'DefinedTypeNode';
9
+ this.metadata = { ...metadata, name: (0, utils_1.mainCase)(metadata.name) };
10
+ this.type = type;
11
+ }
12
+ static fromIdl(idl) {
13
+ var _a, _b, _c;
14
+ const name = (_a = idl.name) !== null && _a !== void 0 ? _a : '';
15
+ const docs = (_b = idl.docs) !== null && _b !== void 0 ? _b : [];
16
+ const idlType = (_c = idl.type) !== null && _c !== void 0 ? _c : { kind: 'struct', fields: [] };
17
+ const type = (0, TypeNode_1.createTypeNodeFromIdl)({ name, ...idlType });
18
+ (0, TypeNode_1.assertTypeStructOrEnumNode)(type);
19
+ return new DefinedTypeNode({ name, idlName: name, docs, importFrom: 'generated', internal: false }, type);
20
+ }
21
+ accept(visitor) {
22
+ return visitor.visitDefinedType(this);
23
+ }
24
+ get name() {
25
+ return this.metadata.name;
26
+ }
27
+ get docs() {
28
+ return this.metadata.docs;
29
+ }
30
+ }
31
+ exports.DefinedTypeNode = DefinedTypeNode;
32
+ function isDefinedTypeNode(node) {
33
+ return !!node && node.nodeClass === 'DefinedTypeNode';
34
+ }
35
+ exports.isDefinedTypeNode = isDefinedTypeNode;
36
+ function assertDefinedTypeNode(node) {
37
+ var _a;
38
+ if (!isDefinedTypeNode(node)) {
39
+ throw new Error(`Expected DefinedTypeNode, got ${(_a = node === null || node === void 0 ? void 0 : node.nodeClass) !== null && _a !== void 0 ? _a : 'null'}.`);
40
+ }
41
+ }
42
+ exports.assertDefinedTypeNode = assertDefinedTypeNode;
43
+ //# sourceMappingURL=DefinedTypeNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DefinedTypeNode.js","sourceRoot":"","sources":["../../../src/nodes/DefinedTypeNode.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AAKpC,yCAA+E;AAW/E,MAAa,eAAe;IAO1B,YACE,QAAiC,EACjC,IAAmC;QAR5B,cAAS,GAAG,iBAA0B,CAAC;QAU9C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAA4B;;QACzC,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACzD,IAAA,qCAA0B,EAAC,IAAI,CAAC,CAAC;QACjC,OAAO,IAAI,eAAe,CACxB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,EACvE,IAAI,CACL,CAAC;IACJ,CAAC;IAED,MAAM,CAAI,OAAmB;QAC3B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF;AAtCD,0CAsCC;AAED,SAAgB,iBAAiB,CAAC,IAAiB;IACjD,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB,CAAC;AACxD,CAAC;AAFD,8CAEC;AAED,SAAgB,qBAAqB,CACnC,IAAiB;;IAEjB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CACb,iCAAiC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,mCAAI,MAAM,GAAG,CAC9D,CAAC;KACH;AACH,CAAC;AARD,sDAQC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertErrorNode = exports.isErrorNode = exports.ErrorNode = void 0;
4
+ const utils_1 = require("../utils");
5
+ class ErrorNode {
6
+ constructor(metadata, code, message) {
7
+ this.nodeClass = 'ErrorNode';
8
+ this.metadata = { ...metadata, name: (0, utils_1.mainCase)(metadata.name) };
9
+ this.code = code;
10
+ this.message = message;
11
+ }
12
+ static fromIdl(idl) {
13
+ var _a, _b, _c, _d;
14
+ const name = (_a = idl.name) !== null && _a !== void 0 ? _a : '';
15
+ const code = (_b = idl.code) !== null && _b !== void 0 ? _b : -1;
16
+ const message = (_c = idl.msg) !== null && _c !== void 0 ? _c : '';
17
+ const defaultDocs = [`${name}: '${message}'`];
18
+ const docs = (_d = idl.docs) !== null && _d !== void 0 ? _d : defaultDocs;
19
+ return new ErrorNode({ name, idlName: name, docs }, code, message);
20
+ }
21
+ accept(visitor) {
22
+ return visitor.visitError(this);
23
+ }
24
+ get name() {
25
+ return this.metadata.name;
26
+ }
27
+ get docs() {
28
+ return this.metadata.docs;
29
+ }
30
+ }
31
+ exports.ErrorNode = ErrorNode;
32
+ function isErrorNode(node) {
33
+ return !!node && node.nodeClass === 'ErrorNode';
34
+ }
35
+ exports.isErrorNode = isErrorNode;
36
+ function assertErrorNode(node) {
37
+ var _a;
38
+ if (!isErrorNode(node)) {
39
+ throw new Error(`Expected ErrorNode, got ${(_a = node === null || node === void 0 ? void 0 : node.nodeClass) !== null && _a !== void 0 ? _a : 'null'}.`);
40
+ }
41
+ }
42
+ exports.assertErrorNode = assertErrorNode;
43
+ //# sourceMappingURL=ErrorNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorNode.js","sourceRoot":"","sources":["../../../src/nodes/ErrorNode.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAUpC,MAAa,SAAS;IASpB,YAAY,QAA2B,EAAE,IAAY,EAAE,OAAe;QAR7D,cAAS,GAAG,WAAoB,CAAC;QASxC,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAsB;;QACnC,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,CAAC,CAAC,CAAC;QAC5B,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,GAAG,mCAAI,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,WAAW,CAAC;QACrC,OAAO,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAI,OAAmB;QAC3B,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF;AAnCD,8BAmCC;AAED,SAAgB,WAAW,CAAC,IAAiB;IAC3C,OAAO,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,CAAC;AAClD,CAAC;AAFD,kCAEC;AAED,SAAgB,eAAe,CAAC,IAAiB;;IAC/C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAS,mCAAI,MAAM,GAAG,CAAC,CAAC;KAC1E;AACH,CAAC;AAJD,0CAIC"}
@@ -0,0 +1,128 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertInstructionNode = exports.isInstructionNode = exports.InstructionNode = void 0;
4
+ const utils_1 = require("../utils");
5
+ const TypeNode_1 = require("./TypeNode");
6
+ const TypeStructNode_1 = require("./TypeStructNode");
7
+ const TypeStructFieldNode_1 = require("./TypeStructFieldNode");
8
+ const ValueNode_1 = require("./ValueNode");
9
+ class InstructionNode {
10
+ constructor(metadata, accounts, args, subInstructions) {
11
+ this.nodeClass = 'InstructionNode';
12
+ const bytes = metadata.bytesCreatedOnChain;
13
+ this.metadata = {
14
+ ...metadata,
15
+ name: (0, utils_1.mainCase)(metadata.name),
16
+ bytesCreatedOnChain: 'name' in bytes ? { ...bytes, name: (0, utils_1.mainCase)(bytes.name) } : bytes,
17
+ };
18
+ this.accounts = accounts.map((account) => {
19
+ const { defaultsTo } = account;
20
+ if (defaultsTo.kind === 'account') {
21
+ defaultsTo.name = (0, utils_1.mainCase)(defaultsTo.name);
22
+ }
23
+ else if (defaultsTo.kind === 'program') {
24
+ defaultsTo.program.name = (0, utils_1.mainCase)(defaultsTo.program.name);
25
+ }
26
+ else if (defaultsTo.kind === 'pda') {
27
+ defaultsTo.pdaAccount = (0, utils_1.mainCase)(defaultsTo.pdaAccount);
28
+ defaultsTo.seeds = Object.fromEntries(Object.entries(defaultsTo.seeds).map(([key, seed]) => [
29
+ (0, utils_1.mainCase)(key),
30
+ { ...seed, name: (0, utils_1.mainCase)(seed.name) },
31
+ ]));
32
+ }
33
+ return { ...account, name: (0, utils_1.mainCase)(account.name), defaultsTo };
34
+ });
35
+ this.args = args;
36
+ this.subInstructions = subInstructions;
37
+ }
38
+ static fromIdl(idl) {
39
+ var _a, _b, _c, _d, _e;
40
+ const idlName = (_a = idl.name) !== null && _a !== void 0 ? _a : '';
41
+ const name = (0, utils_1.camelCase)(idlName);
42
+ const useProgramIdForOptionalAccounts = (_b = idl.defaultOptionalAccounts) !== null && _b !== void 0 ? _b : false;
43
+ const metadata = {
44
+ name,
45
+ idlName,
46
+ docs: (_c = idl.docs) !== null && _c !== void 0 ? _c : [],
47
+ internal: false,
48
+ bytesCreatedOnChain: { kind: 'none' },
49
+ };
50
+ const accounts = ((_d = idl.accounts) !== null && _d !== void 0 ? _d : []).map((account) => {
51
+ var _a, _b, _c, _d, _e, _f;
52
+ const isOptional = (_a = account.optional) !== null && _a !== void 0 ? _a : false;
53
+ return {
54
+ name: (0, utils_1.camelCase)((_b = account.name) !== null && _b !== void 0 ? _b : ''),
55
+ isWritable: (_c = account.isMut) !== null && _c !== void 0 ? _c : false,
56
+ isSigner: (_d = account.isSigner) !== null && _d !== void 0 ? _d : false,
57
+ isOptionalSigner: (_e = account.isOptionalSigner) !== null && _e !== void 0 ? _e : false,
58
+ isOptional,
59
+ description: (_f = account.desc) !== null && _f !== void 0 ? _f : '',
60
+ defaultsTo: isOptional && useProgramIdForOptionalAccounts
61
+ ? { kind: 'programId' }
62
+ : { kind: 'none' },
63
+ };
64
+ });
65
+ let args = TypeStructNode_1.TypeStructNode.fromIdl({
66
+ kind: 'struct',
67
+ name: name ? `${name}InstructionArgs` : '',
68
+ fields: (_e = idl.args) !== null && _e !== void 0 ? _e : [],
69
+ });
70
+ if (idl.discriminant) {
71
+ const discriminatorField = new TypeStructFieldNode_1.TypeStructFieldNode({
72
+ name: 'discriminator',
73
+ docs: [],
74
+ defaultsTo: {
75
+ strategy: 'omitted',
76
+ value: (0, ValueNode_1.vScalar)(idl.discriminant.value),
77
+ },
78
+ }, (0, TypeNode_1.createTypeNodeFromIdl)(idl.discriminant.type));
79
+ args = new TypeStructNode_1.TypeStructNode(args.name, [
80
+ discriminatorField,
81
+ ...args.fields,
82
+ ]);
83
+ }
84
+ return new InstructionNode(metadata, accounts, args, []);
85
+ }
86
+ accept(visitor) {
87
+ return visitor.visitInstruction(this);
88
+ }
89
+ getAllSubInstructions() {
90
+ return this.subInstructions.flatMap((subInstruction) => [
91
+ subInstruction,
92
+ ...subInstruction.getAllSubInstructions(),
93
+ ]);
94
+ }
95
+ get name() {
96
+ return this.metadata.name;
97
+ }
98
+ get docs() {
99
+ return this.metadata.docs;
100
+ }
101
+ get hasAccounts() {
102
+ return this.accounts.length > 0;
103
+ }
104
+ get hasData() {
105
+ return this.args.fields.length > 0;
106
+ }
107
+ get hasArgs() {
108
+ const nonOmittedFields = this.args.fields.filter((field) => { var _a; return ((_a = field.metadata.defaultsTo) === null || _a === void 0 ? void 0 : _a.strategy) !== 'omitted'; });
109
+ return nonOmittedFields.length > 0;
110
+ }
111
+ get hasRequiredArgs() {
112
+ const requiredFields = this.args.fields.filter((field) => field.metadata.defaultsTo === null);
113
+ return requiredFields.length > 0;
114
+ }
115
+ }
116
+ exports.InstructionNode = InstructionNode;
117
+ function isInstructionNode(node) {
118
+ return !!node && node.nodeClass === 'InstructionNode';
119
+ }
120
+ exports.isInstructionNode = isInstructionNode;
121
+ function assertInstructionNode(node) {
122
+ var _a;
123
+ if (!isInstructionNode(node)) {
124
+ throw new Error(`Expected InstructionNode, got ${(_a = node === null || node === void 0 ? void 0 : node.nodeClass) !== null && _a !== void 0 ? _a : 'null'}.`);
125
+ }
126
+ }
127
+ exports.assertInstructionNode = assertInstructionNode;
128
+ //# sourceMappingURL=InstructionNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InstructionNode.js","sourceRoot":"","sources":["../../../src/nodes/InstructionNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeNullAndAssertNodeFilter = exports.assertNodeFilter = void 0;
4
+ const assertNodeFilter = (assertCallback) => (node) => {
5
+ assertCallback(node);
6
+ return true;
7
+ };
8
+ exports.assertNodeFilter = assertNodeFilter;
9
+ const removeNullAndAssertNodeFilter = (assertCallback) => (node) => {
10
+ if (node)
11
+ assertCallback(node);
12
+ return node !== null;
13
+ };
14
+ exports.removeNullAndAssertNodeFilter = removeNullAndAssertNodeFilter;
15
+ //# sourceMappingURL=Node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Node.js","sourceRoot":"","sources":["../../../src/nodes/Node.ts"],"names":[],"mappings":";;;AAuBO,MAAM,gBAAgB,GAC3B,CACE,cAAwD,EACb,EAAE,CAC/C,CAAC,IAAI,EAAa,EAAE;IAClB,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAPS,QAAA,gBAAgB,oBAOzB;AAEG,MAAM,6BAA6B,GACxC,CACE,cAAwD,EACb,EAAE,CAC/C,CAAC,IAAI,EAAa,EAAE;IAClB,IAAI,IAAI;QAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,IAAI,KAAK,IAAI,CAAC;AACvB,CAAC,CAAC;AAPS,QAAA,6BAA6B,iCAOtC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.assertProgramNode = exports.isProgramNode = exports.ProgramNode = void 0;
4
+ const utils_1 = require("../utils");
5
+ const AccountNode_1 = require("./AccountNode");
6
+ const DefinedTypeNode_1 = require("./DefinedTypeNode");
7
+ const ErrorNode_1 = require("./ErrorNode");
8
+ const InstructionNode_1 = require("./InstructionNode");
9
+ class ProgramNode {
10
+ constructor(metadata, accounts, instructions, definedTypes, errors) {
11
+ this.nodeClass = 'ProgramNode';
12
+ this.metadata = {
13
+ ...metadata,
14
+ name: (0, utils_1.mainCase)(metadata.name),
15
+ prefix: (0, utils_1.mainCase)(metadata.prefix),
16
+ };
17
+ this.accounts = accounts;
18
+ this.instructions = instructions;
19
+ this.definedTypes = definedTypes;
20
+ this.errors = errors;
21
+ }
22
+ static fromIdl(idl) {
23
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
24
+ const accounts = ((_a = idl.accounts) !== null && _a !== void 0 ? _a : []).map(AccountNode_1.AccountNode.fromIdl);
25
+ const instructions = ((_b = idl.instructions) !== null && _b !== void 0 ? _b : []).map(InstructionNode_1.InstructionNode.fromIdl);
26
+ const definedTypes = ((_c = idl.types) !== null && _c !== void 0 ? _c : []).map(DefinedTypeNode_1.DefinedTypeNode.fromIdl);
27
+ const errors = ((_d = idl.errors) !== null && _d !== void 0 ? _d : []).map(ErrorNode_1.ErrorNode.fromIdl);
28
+ const metadata = {
29
+ name: (_e = idl.name) !== null && _e !== void 0 ? _e : '',
30
+ prefix: '',
31
+ publicKey: (_g = (_f = idl.metadata) === null || _f === void 0 ? void 0 : _f.address) !== null && _g !== void 0 ? _g : '',
32
+ version: (_h = idl.version) !== null && _h !== void 0 ? _h : '',
33
+ origin: (_k = (_j = idl.metadata) === null || _j === void 0 ? void 0 : _j.origin) !== null && _k !== void 0 ? _k : null,
34
+ idl,
35
+ internal: false,
36
+ };
37
+ return new ProgramNode(metadata, accounts, instructions, definedTypes, errors);
38
+ }
39
+ accept(visitor) {
40
+ return visitor.visitProgram(this);
41
+ }
42
+ get name() {
43
+ return this.metadata.name;
44
+ }
45
+ get instructionsWithSubs() {
46
+ return this.instructions.flatMap((instruction) => [
47
+ instruction,
48
+ ...instruction.getAllSubInstructions(),
49
+ ]);
50
+ }
51
+ }
52
+ exports.ProgramNode = ProgramNode;
53
+ function isProgramNode(node) {
54
+ return !!node && node.nodeClass === 'ProgramNode';
55
+ }
56
+ exports.isProgramNode = isProgramNode;
57
+ function assertProgramNode(node) {
58
+ var _a;
59
+ if (!isProgramNode(node)) {
60
+ throw new Error(`Expected ProgramNode, got ${(_a = node === null || node === void 0 ? void 0 : node.nodeClass) !== null && _a !== void 0 ? _a : 'null'}.`);
61
+ }
62
+ }
63
+ exports.assertProgramNode = assertProgramNode;
64
+ //# sourceMappingURL=ProgramNode.js.map