@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.
- package/README.md +7 -0
- package/dist/cjs/Kinobi.js +28 -0
- package/dist/cjs/Kinobi.js.map +1 -0
- package/dist/cjs/idl/Idl.js +3 -0
- package/dist/cjs/idl/Idl.js.map +1 -0
- package/dist/cjs/idl/IdlAccount.js +3 -0
- package/dist/cjs/idl/IdlAccount.js.map +1 -0
- package/dist/cjs/idl/IdlDefinedType.js +3 -0
- package/dist/cjs/idl/IdlDefinedType.js.map +1 -0
- package/dist/cjs/idl/IdlError.js +3 -0
- package/dist/cjs/idl/IdlError.js.map +1 -0
- package/dist/cjs/idl/IdlInstruction.js +3 -0
- package/dist/cjs/idl/IdlInstruction.js.map +1 -0
- package/dist/cjs/idl/IdlType.js +3 -0
- package/dist/cjs/idl/IdlType.js.map +1 -0
- package/dist/cjs/idl/index.js +23 -0
- package/dist/cjs/idl/index.js.map +1 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/logs.js +64 -0
- package/dist/cjs/logs.js.map +1 -0
- package/dist/cjs/nodes/AccountNode.js +89 -0
- package/dist/cjs/nodes/AccountNode.js.map +1 -0
- package/dist/cjs/nodes/DefinedTypeNode.js +43 -0
- package/dist/cjs/nodes/DefinedTypeNode.js.map +1 -0
- package/dist/cjs/nodes/ErrorNode.js +43 -0
- package/dist/cjs/nodes/ErrorNode.js.map +1 -0
- package/dist/cjs/nodes/InstructionNode.js +128 -0
- package/dist/cjs/nodes/InstructionNode.js.map +1 -0
- package/dist/cjs/nodes/Node.js +15 -0
- package/dist/cjs/nodes/Node.js.map +1 -0
- package/dist/cjs/nodes/ProgramNode.js +64 -0
- package/dist/cjs/nodes/ProgramNode.js.map +1 -0
- package/dist/cjs/nodes/RootNode.js +48 -0
- package/dist/cjs/nodes/RootNode.js.map +1 -0
- package/dist/cjs/nodes/TypeArrayNode.js +31 -0
- package/dist/cjs/nodes/TypeArrayNode.js.map +1 -0
- package/dist/cjs/nodes/TypeDefinedLinkNode.js +30 -0
- package/dist/cjs/nodes/TypeDefinedLinkNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumEmptyVariantNode.js +30 -0
- package/dist/cjs/nodes/TypeEnumEmptyVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumNode.js +52 -0
- package/dist/cjs/nodes/TypeEnumNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumStructVariantNode.js +37 -0
- package/dist/cjs/nodes/TypeEnumStructVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumTupleVariantNode.js +33 -0
- package/dist/cjs/nodes/TypeEnumTupleVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeEnumVariantNode.js +20 -0
- package/dist/cjs/nodes/TypeEnumVariantNode.js.map +1 -0
- package/dist/cjs/nodes/TypeLeafNode.js +61 -0
- package/dist/cjs/nodes/TypeLeafNode.js.map +1 -0
- package/dist/cjs/nodes/TypeLeafWrapperNode.js +26 -0
- package/dist/cjs/nodes/TypeLeafWrapperNode.js.map +1 -0
- package/dist/cjs/nodes/TypeMapNode.js +35 -0
- package/dist/cjs/nodes/TypeMapNode.js.map +1 -0
- package/dist/cjs/nodes/TypeNode.js +103 -0
- package/dist/cjs/nodes/TypeNode.js.map +1 -0
- package/dist/cjs/nodes/TypeOptionNode.js +32 -0
- package/dist/cjs/nodes/TypeOptionNode.js.map +1 -0
- package/dist/cjs/nodes/TypeSetNode.js +32 -0
- package/dist/cjs/nodes/TypeSetNode.js.map +1 -0
- package/dist/cjs/nodes/TypeStructFieldNode.js +42 -0
- package/dist/cjs/nodes/TypeStructFieldNode.js.map +1 -0
- package/dist/cjs/nodes/TypeStructNode.js +32 -0
- package/dist/cjs/nodes/TypeStructNode.js.map +1 -0
- package/dist/cjs/nodes/TypeTupleNode.js +29 -0
- package/dist/cjs/nodes/TypeTupleNode.js.map +1 -0
- package/dist/cjs/nodes/TypeVecNode.js +29 -0
- package/dist/cjs/nodes/TypeVecNode.js.map +1 -0
- package/dist/cjs/nodes/ValueNode.js +57 -0
- package/dist/cjs/nodes/ValueNode.js.map +1 -0
- package/dist/cjs/nodes/index.js +42 -0
- package/dist/cjs/nodes/index.js.map +1 -0
- package/dist/cjs/renderers/RenderMap.js +35 -0
- package/dist/cjs/renderers/RenderMap.js.map +1 -0
- package/dist/cjs/renderers/WriteRenderMapVisitor.js +16 -0
- package/dist/cjs/renderers/WriteRenderMapVisitor.js.map +1 -0
- package/dist/cjs/renderers/index.js +21 -0
- package/dist/cjs/renderers/index.js.map +1 -0
- package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js +360 -0
- package/dist/cjs/renderers/js/GetJavaScriptRenderMapVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js +439 -0
- package/dist/cjs/renderers/js/GetJavaScriptTypeManifestVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js +198 -0
- package/dist/cjs/renderers/js/GetJavaScriptValidatorBagVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/JavaScriptImportMap.js +83 -0
- package/dist/cjs/renderers/js/JavaScriptImportMap.js.map +1 -0
- package/dist/cjs/renderers/js/RenderJavaScriptValueNode.js +125 -0
- package/dist/cjs/renderers/js/RenderJavaScriptValueNode.js.map +1 -0
- package/dist/cjs/renderers/js/RenderJavaScriptVisitor.js +28 -0
- package/dist/cjs/renderers/js/RenderJavaScriptVisitor.js.map +1 -0
- package/dist/cjs/renderers/js/index.js +23 -0
- package/dist/cjs/renderers/js/index.js.map +1 -0
- package/dist/cjs/renderers/js/templates/accountsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/accountsPage.njk +122 -0
- package/dist/cjs/renderers/js/templates/definedTypesIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/definedTypesPage.njk +13 -0
- package/dist/cjs/renderers/js/templates/definedTypesPageDataEnums.njk +26 -0
- package/dist/cjs/renderers/js/templates/errorsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/errorsPage.njk +43 -0
- package/dist/cjs/renderers/js/templates/instructionsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/instructionsPage.njk +71 -0
- package/dist/cjs/renderers/js/templates/instructionsPageAccountMetas.njk +61 -0
- package/dist/cjs/renderers/js/templates/instructionsPageAccounts.njk +12 -0
- package/dist/cjs/renderers/js/templates/instructionsPageArgs.njk +7 -0
- package/dist/cjs/renderers/js/templates/layout.njk +9 -0
- package/dist/cjs/renderers/js/templates/macros.njk +40 -0
- package/dist/cjs/renderers/js/templates/programsIndex.njk +9 -0
- package/dist/cjs/renderers/js/templates/programsPage.njk +23 -0
- package/dist/cjs/renderers/js/templates/rootIndex.njk +23 -0
- package/dist/cjs/renderers/utils.js +42 -0
- package/dist/cjs/renderers/utils.js.map +1 -0
- package/dist/cjs/utils.js +47 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/visitors/BaseDelegateVisitor.js +73 -0
- package/dist/cjs/visitors/BaseDelegateVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseNodeOrNullVisitor.js +183 -0
- package/dist/cjs/visitors/BaseNodeOrNullVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseNodeVisitor.js +144 -0
- package/dist/cjs/visitors/BaseNodeVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseThrowVisitor.js +70 -0
- package/dist/cjs/visitors/BaseThrowVisitor.js.map +1 -0
- package/dist/cjs/visitors/BaseVoidVisitor.js +81 -0
- package/dist/cjs/visitors/BaseVoidVisitor.js.map +1 -0
- package/dist/cjs/visitors/DefaultVisitor.js +53 -0
- package/dist/cjs/visitors/DefaultVisitor.js.map +1 -0
- package/dist/cjs/visitors/Dependency.js +3 -0
- package/dist/cjs/visitors/Dependency.js.map +1 -0
- package/dist/cjs/visitors/NodeSelector.js +79 -0
- package/dist/cjs/visitors/NodeSelector.js.map +1 -0
- package/dist/cjs/visitors/NodeStack.js +98 -0
- package/dist/cjs/visitors/NodeStack.js.map +1 -0
- package/dist/cjs/visitors/ValidatorBag.js +64 -0
- package/dist/cjs/visitors/ValidatorBag.js.map +1 -0
- package/dist/cjs/visitors/Visitable.js +3 -0
- package/dist/cjs/visitors/Visitable.js.map +1 -0
- package/dist/cjs/visitors/Visitor.js +3 -0
- package/dist/cjs/visitors/Visitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetByteSizeVisitor.js +130 -0
- package/dist/cjs/visitors/aggregators/GetByteSizeVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js +300 -0
- package/dist/cjs/visitors/aggregators/GetDefaultValidatorBagVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetDefinedTypeHistogramVisitor.js +157 -0
- package/dist/cjs/visitors/aggregators/GetDefinedTypeHistogramVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js +111 -0
- package/dist/cjs/visitors/aggregators/GetNodeInlineStringVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js +219 -0
- package/dist/cjs/visitors/aggregators/GetNodeTreeStringVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js +121 -0
- package/dist/cjs/visitors/aggregators/GetResolvedInstructionAccountsVisitor.js.map +1 -0
- package/dist/cjs/visitors/aggregators/index.js +23 -0
- package/dist/cjs/visitors/aggregators/index.js.map +1 -0
- package/dist/cjs/visitors/index.js +31 -0
- package/dist/cjs/visitors/index.js.map +1 -0
- package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js +94 -0
- package/dist/cjs/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/AutoSetFixedAccountSizesVisitor.js +56 -0
- package/dist/cjs/visitors/transformers/AutoSetFixedAccountSizesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js +100 -0
- package/dist/cjs/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.js +83 -0
- package/dist/cjs/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/DeleteNodesVisitor.js +14 -0
- package/dist/cjs/visitors/transformers/DeleteNodesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.js +62 -0
- package/dist/cjs/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js +202 -0
- package/dist/cjs/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js +59 -0
- package/dist/cjs/visitors/transformers/SetInstructionDiscriminatorsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetLeafWrappersVisitor.js +43 -0
- package/dist/cjs/visitors/transformers/SetLeafWrappersVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetMissingDefinedTypesVisitor.js +85 -0
- package/dist/cjs/visitors/transformers/SetMissingDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/SetStructDefaultValuesVisitor.js +62 -0
- package/dist/cjs/visitors/transformers/SetStructDefaultValuesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/TransformNodesVisitor.js +156 -0
- package/dist/cjs/visitors/transformers/TransformNodesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/TransformU8ArraysToBytesVisitor.js +49 -0
- package/dist/cjs/visitors/transformers/TransformU8ArraysToBytesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapDefinedTypesVisitor.js +69 -0
- package/dist/cjs/visitors/transformers/UnwrapDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.js +59 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsStructVisitor.js +44 -0
- package/dist/cjs/visitors/transformers/UnwrapInstructionArgsStructVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UnwrapStructVisitor.js +74 -0
- package/dist/cjs/visitors/transformers/UnwrapStructVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateAccountsVisitor.js +57 -0
- package/dist/cjs/visitors/transformers/UpdateAccountsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateDefinedTypesVisitor.js +72 -0
- package/dist/cjs/visitors/transformers/UpdateDefinedTypesVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateErrorsVisitor.js +50 -0
- package/dist/cjs/visitors/transformers/UpdateErrorsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js +97 -0
- package/dist/cjs/visitors/transformers/UpdateInstructionsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/UpdateProgramsVisitor.js +49 -0
- package/dist/cjs/visitors/transformers/UpdateProgramsVisitor.js.map +1 -0
- package/dist/cjs/visitors/transformers/_renameHelpers.js +49 -0
- package/dist/cjs/visitors/transformers/_renameHelpers.js.map +1 -0
- package/dist/cjs/visitors/transformers/index.js +39 -0
- package/dist/cjs/visitors/transformers/index.js.map +1 -0
- package/dist/cjs/visitors/workers/ConsoleLogVisitor.js +12 -0
- package/dist/cjs/visitors/workers/ConsoleLogVisitor.js.map +1 -0
- package/dist/cjs/visitors/workers/ThrowValidatorItemsVisitor.js +38 -0
- package/dist/cjs/visitors/workers/ThrowValidatorItemsVisitor.js.map +1 -0
- package/dist/cjs/visitors/workers/index.js +19 -0
- package/dist/cjs/visitors/workers/index.js.map +1 -0
- package/dist/types/Kinobi.d.ts +9 -0
- package/dist/types/idl/Idl.d.ts +18 -0
- package/dist/types/idl/IdlAccount.d.ts +19 -0
- package/dist/types/idl/IdlDefinedType.d.ts +6 -0
- package/dist/types/idl/IdlError.d.ts +6 -0
- package/dist/types/idl/IdlInstruction.d.ts +25 -0
- package/dist/types/idl/IdlType.d.ts +60 -0
- package/dist/types/idl/index.d.ts +6 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/logs.d.ts +9 -0
- package/dist/types/nodes/AccountNode.d.ts +51 -0
- package/dist/types/nodes/DefinedTypeNode.d.ts +24 -0
- package/dist/types/nodes/ErrorNode.d.ts +21 -0
- package/dist/types/nodes/InstructionNode.d.ts +88 -0
- package/dist/types/nodes/Node.d.ts +12 -0
- package/dist/types/nodes/ProgramNode.d.ts +31 -0
- package/dist/types/nodes/RootNode.d.ts +23 -0
- package/dist/types/nodes/TypeArrayNode.d.ts +14 -0
- package/dist/types/nodes/TypeDefinedLinkNode.d.ts +12 -0
- package/dist/types/nodes/TypeEnumEmptyVariantNode.d.ts +12 -0
- package/dist/types/nodes/TypeEnumNode.d.ts +16 -0
- package/dist/types/nodes/TypeEnumStructVariantNode.d.ts +14 -0
- package/dist/types/nodes/TypeEnumTupleVariantNode.d.ts +14 -0
- package/dist/types/nodes/TypeEnumVariantNode.d.ts +7 -0
- package/dist/types/nodes/TypeLeafNode.d.ts +18 -0
- package/dist/types/nodes/TypeLeafWrapperNode.d.ts +21 -0
- package/dist/types/nodes/TypeMapNode.d.ts +15 -0
- package/dist/types/nodes/TypeNode.d.ts +19 -0
- package/dist/types/nodes/TypeOptionNode.d.ts +14 -0
- package/dist/types/nodes/TypeSetNode.d.ts +14 -0
- package/dist/types/nodes/TypeStructFieldNode.d.ts +24 -0
- package/dist/types/nodes/TypeStructNode.d.ts +14 -0
- package/dist/types/nodes/TypeTupleNode.d.ts +13 -0
- package/dist/types/nodes/TypeVecNode.d.ts +13 -0
- package/dist/types/nodes/ValueNode.d.ts +59 -0
- package/dist/types/nodes/index.d.ts +25 -0
- package/dist/types/renderers/RenderMap.d.ts +8 -0
- package/dist/types/renderers/WriteRenderMapVisitor.d.ts +8 -0
- package/dist/types/renderers/index.d.ts +4 -0
- package/dist/types/renderers/js/GetJavaScriptRenderMapVisitor.d.ts +34 -0
- package/dist/types/renderers/js/GetJavaScriptTypeManifestVisitor.d.ts +44 -0
- package/dist/types/renderers/js/GetJavaScriptValidatorBagVisitor.d.ts +19 -0
- package/dist/types/renderers/js/JavaScriptImportMap.d.ts +11 -0
- package/dist/types/renderers/js/RenderJavaScriptValueNode.d.ts +6 -0
- package/dist/types/renderers/js/RenderJavaScriptVisitor.d.ts +14 -0
- package/dist/types/renderers/js/index.d.ts +6 -0
- package/dist/types/renderers/utils.d.ts +5 -0
- package/dist/types/utils.d.ts +8 -0
- package/dist/types/visitors/BaseDelegateVisitor.d.ts +28 -0
- package/dist/types/visitors/BaseNodeOrNullVisitor.d.ts +25 -0
- package/dist/types/visitors/BaseNodeVisitor.d.ts +25 -0
- package/dist/types/visitors/BaseThrowVisitor.d.ts +25 -0
- package/dist/types/visitors/BaseVoidVisitor.d.ts +25 -0
- package/dist/types/visitors/DefaultVisitor.d.ts +5 -0
- package/dist/types/visitors/Dependency.d.ts +17 -0
- package/dist/types/visitors/NodeSelector.d.ts +11 -0
- package/dist/types/visitors/NodeStack.d.ts +14 -0
- package/dist/types/visitors/ValidatorBag.d.ts +22 -0
- package/dist/types/visitors/Visitable.d.ts +4 -0
- package/dist/types/visitors/Visitor.d.ts +24 -0
- package/dist/types/visitors/aggregators/GetByteSizeVisitor.d.ts +27 -0
- package/dist/types/visitors/aggregators/GetDefaultValidatorBagVisitor.d.ts +32 -0
- package/dist/types/visitors/aggregators/GetDefinedTypeHistogramVisitor.d.ts +37 -0
- package/dist/types/visitors/aggregators/GetNodeInlineStringVisitor.d.ts +25 -0
- package/dist/types/visitors/aggregators/GetNodeTreeStringVisitor.d.ts +29 -0
- package/dist/types/visitors/aggregators/GetResolvedInstructionAccountsVisitor.d.ts +19 -0
- package/dist/types/visitors/aggregators/index.d.ts +6 -0
- package/dist/types/visitors/index.d.ts +14 -0
- package/dist/types/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/AutoSetFixedAccountSizesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/DeleteNodesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.d.ts +12 -0
- package/dist/types/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.d.ts +27 -0
- package/dist/types/visitors/transformers/SetInstructionDiscriminatorsVisitor.d.ts +18 -0
- package/dist/types/visitors/transformers/SetLeafWrappersVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/SetMissingDefinedTypesVisitor.d.ts +7 -0
- package/dist/types/visitors/transformers/SetStructDefaultValuesVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/TransformNodesVisitor.d.ts +37 -0
- package/dist/types/visitors/transformers/TransformU8ArraysToBytesVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/UnwrapDefinedTypesVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.d.ts +5 -0
- package/dist/types/visitors/transformers/UnwrapInstructionArgsStructVisitor.d.ts +4 -0
- package/dist/types/visitors/transformers/UnwrapStructVisitor.d.ts +8 -0
- package/dist/types/visitors/transformers/UpdateAccountsVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/UpdateDefinedTypesVisitor.d.ts +11 -0
- package/dist/types/visitors/transformers/UpdateErrorsVisitor.d.ts +12 -0
- package/dist/types/visitors/transformers/UpdateInstructionsVisitor.d.ts +41 -0
- package/dist/types/visitors/transformers/UpdateProgramsVisitor.d.ts +9 -0
- package/dist/types/visitors/transformers/_renameHelpers.d.ts +3 -0
- package/dist/types/visitors/transformers/index.d.ts +22 -0
- package/dist/types/visitors/workers/ConsoleLogVisitor.d.ts +4 -0
- package/dist/types/visitors/workers/ThrowValidatorItemsVisitor.d.ts +9 -0
- package/dist/types/visitors/workers/index.d.ts +2 -0
- package/package.json +72 -0
- package/src/Kinobi.ts +28 -0
- package/src/idl/Idl.ts +19 -0
- package/src/idl/IdlAccount.ts +14 -0
- package/src/idl/IdlDefinedType.ts +7 -0
- package/src/idl/IdlError.ts +6 -0
- package/src/idl/IdlInstruction.ts +29 -0
- package/src/idl/IdlType.ts +72 -0
- package/src/idl/index.ts +6 -0
- package/src/index.ts +5 -0
- package/src/logs.ts +77 -0
- package/src/nodes/AccountNode.ts +126 -0
- package/src/nodes/DefinedTypeNode.ts +69 -0
- package/src/nodes/ErrorNode.ts +57 -0
- package/src/nodes/InstructionNode.ts +215 -0
- package/src/nodes/Node.ts +40 -0
- package/src/nodes/ProgramNode.ts +101 -0
- package/src/nodes/RootNode.ts +64 -0
- package/src/nodes/TypeArrayNode.ts +40 -0
- package/src/nodes/TypeDefinedLinkNode.ts +40 -0
- package/src/nodes/TypeEnumEmptyVariantNode.ts +38 -0
- package/src/nodes/TypeEnumNode.ts +67 -0
- package/src/nodes/TypeEnumStructVariantNode.ts +50 -0
- package/src/nodes/TypeEnumTupleVariantNode.ts +46 -0
- package/src/nodes/TypeEnumVariantNode.ts +32 -0
- package/src/nodes/TypeLeafNode.ts +73 -0
- package/src/nodes/TypeLeafWrapperNode.ts +41 -0
- package/src/nodes/TypeMapNode.ts +48 -0
- package/src/nodes/TypeNode.ts +138 -0
- package/src/nodes/TypeOptionNode.ts +41 -0
- package/src/nodes/TypeSetNode.ts +39 -0
- package/src/nodes/TypeStructFieldNode.ts +63 -0
- package/src/nodes/TypeStructNode.ts +43 -0
- package/src/nodes/TypeTupleNode.ts +36 -0
- package/src/nodes/TypeVecNode.ts +34 -0
- package/src/nodes/ValueNode.ts +92 -0
- package/src/nodes/index.ts +25 -0
- package/src/renderers/RenderMap.ts +34 -0
- package/src/renderers/WriteRenderMapVisitor.ts +15 -0
- package/src/renderers/index.ts +4 -0
- package/src/renderers/js/GetJavaScriptRenderMapVisitor.ts +437 -0
- package/src/renderers/js/GetJavaScriptTypeManifestVisitor.ts +522 -0
- package/src/renderers/js/GetJavaScriptValidatorBagVisitor.ts +202 -0
- package/src/renderers/js/JavaScriptImportMap.ts +89 -0
- package/src/renderers/js/RenderJavaScriptValueNode.ts +110 -0
- package/src/renderers/js/RenderJavaScriptVisitor.ts +45 -0
- package/src/renderers/js/index.ts +6 -0
- package/src/renderers/js/templates/accountsIndex.njk +9 -0
- package/src/renderers/js/templates/accountsPage.njk +122 -0
- package/src/renderers/js/templates/definedTypesIndex.njk +9 -0
- package/src/renderers/js/templates/definedTypesPage.njk +13 -0
- package/src/renderers/js/templates/definedTypesPageDataEnums.njk +26 -0
- package/src/renderers/js/templates/errorsIndex.njk +9 -0
- package/src/renderers/js/templates/errorsPage.njk +43 -0
- package/src/renderers/js/templates/instructionsIndex.njk +9 -0
- package/src/renderers/js/templates/instructionsPage.njk +71 -0
- package/src/renderers/js/templates/instructionsPageAccountMetas.njk +61 -0
- package/src/renderers/js/templates/instructionsPageAccounts.njk +12 -0
- package/src/renderers/js/templates/instructionsPageArgs.njk +7 -0
- package/src/renderers/js/templates/layout.njk +9 -0
- package/src/renderers/js/templates/macros.njk +40 -0
- package/src/renderers/js/templates/programsIndex.njk +9 -0
- package/src/renderers/js/templates/programsPage.njk +23 -0
- package/src/renderers/js/templates/rootIndex.njk +23 -0
- package/src/renderers/utils.ts +46 -0
- package/src/utils.ts +41 -0
- package/src/visitors/BaseDelegateVisitor.ts +98 -0
- package/src/visitors/BaseNodeOrNullVisitor.ts +202 -0
- package/src/visitors/BaseNodeVisitor.ts +173 -0
- package/src/visitors/BaseThrowVisitor.ts +101 -0
- package/src/visitors/BaseVoidVisitor.ts +104 -0
- package/src/visitors/DefaultVisitor.ts +45 -0
- package/src/visitors/Dependency.ts +23 -0
- package/src/visitors/NodeSelector.ts +82 -0
- package/src/visitors/NodeStack.ts +109 -0
- package/src/visitors/ValidatorBag.ts +90 -0
- package/src/visitors/Visitable.ts +5 -0
- package/src/visitors/Visitor.ts +36 -0
- package/src/visitors/aggregators/GetByteSizeVisitor.ts +167 -0
- package/src/visitors/aggregators/GetDefaultValidatorBagVisitor.ts +332 -0
- package/src/visitors/aggregators/GetDefinedTypeHistogramVisitor.ts +213 -0
- package/src/visitors/aggregators/GetNodeInlineStringVisitor.ts +140 -0
- package/src/visitors/aggregators/GetNodeTreeStringVisitor.ts +260 -0
- package/src/visitors/aggregators/GetResolvedInstructionAccountsVisitor.ts +153 -0
- package/src/visitors/aggregators/index.ts +6 -0
- package/src/visitors/index.ts +15 -0
- package/src/visitors/transformers/AutoSetAnchorDiscriminatorsVisitor.ts +90 -0
- package/src/visitors/transformers/AutoSetFixedAccountSizesVisitor.ts +31 -0
- package/src/visitors/transformers/CreateSubInstructionsFromEnumArgsVisitor.ts +117 -0
- package/src/visitors/transformers/DeduplicateIdenticalDefinedTypesVisitor.ts +72 -0
- package/src/visitors/transformers/DeleteNodesVisitor.ts +13 -0
- package/src/visitors/transformers/SetAccountDiscriminatorFromFieldVisitor.ts +52 -0
- package/src/visitors/transformers/SetInstructionAccountDefaultValuesVisitor.ts +236 -0
- package/src/visitors/transformers/SetInstructionDiscriminatorsVisitor.ts +54 -0
- package/src/visitors/transformers/SetLeafWrappersVisitor.ts +20 -0
- package/src/visitors/transformers/SetMissingDefinedTypesVisitor.ts +73 -0
- package/src/visitors/transformers/SetStructDefaultValuesVisitor.ts +45 -0
- package/src/visitors/transformers/TransformNodesVisitor.ts +215 -0
- package/src/visitors/transformers/TransformU8ArraysToBytesVisitor.ts +27 -0
- package/src/visitors/transformers/UnwrapDefinedTypesVisitor.ts +65 -0
- package/src/visitors/transformers/UnwrapInstructionArgsDefinedTypesVisitor.ts +35 -0
- package/src/visitors/transformers/UnwrapInstructionArgsStructVisitor.ts +22 -0
- package/src/visitors/transformers/UnwrapStructVisitor.ts +62 -0
- package/src/visitors/transformers/UpdateAccountsVisitor.ts +45 -0
- package/src/visitors/transformers/UpdateDefinedTypesVisitor.ts +71 -0
- package/src/visitors/transformers/UpdateErrorsVisitor.ts +41 -0
- package/src/visitors/transformers/UpdateInstructionsVisitor.ts +135 -0
- package/src/visitors/transformers/UpdateProgramsVisitor.ts +39 -0
- package/src/visitors/transformers/_renameHelpers.ts +47 -0
- package/src/visitors/transformers/index.ts +22 -0
- package/src/visitors/workers/ConsoleLogVisitor.ts +8 -0
- package/src/visitors/workers/ThrowValidatorItemsVisitor.ts +42 -0
- package/src/visitors/workers/index.ts +2 -0
package/README.md
ADDED
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"Idl.js","sourceRoot":"","sources":["../../../src/idl/Idl.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdlAccount.js","sourceRoot":"","sources":["../../../src/idl/IdlAccount.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdlDefinedType.js","sourceRoot":"","sources":["../../../src/idl/IdlDefinedType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdlError.js","sourceRoot":"","sources":["../../../src/idl/IdlError.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IdlInstruction.js","sourceRoot":"","sources":["../../../src/idl/IdlInstruction.ts"],"names":[],"mappings":""}
|
|
@@ -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"}
|
package/dist/cjs/logs.js
ADDED
|
@@ -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":";;;AAAA,oCAA+C;AAI/C,yCAAmD;AACnD,qDAAkD;AAClD,+DAA4D;AAC5D,2CAAsC;AAkDtC,MAAa,eAAe;IAW1B,YACE,QAAiC,EACjC,QAAkC,EAClC,IAAoB,EACpB,eAAkC;QAd3B,cAAS,GAAG,iBAA0B,CAAC;QAgB9C,MAAM,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC;QAC3C,IAAI,CAAC,QAAQ,GAAG;YACd,GAAG,QAAQ;YACX,IAAI,EAAE,IAAA,gBAAQ,EAAC,QAAQ,CAAC,IAAI,CAAC;YAC7B,mBAAmB,EACjB,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK;SACrE,CAAC;QACF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACvC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAC/B,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;gBACjC,UAAU,CAAC,IAAI,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAC7C;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,EAAE;gBACxC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAC7D;iBAAM,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE;gBACpC,UAAU,CAAC,UAAU,GAAG,IAAA,gBAAQ,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBACxD,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC;oBACpD,IAAA,gBAAQ,EAAC,GAAG,CAAC;oBACb,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iBACvC,CAAC,CACH,CAAC;aACH;YACD,OAAO,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAA4B;;QACzC,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,OAAO,CAAC,CAAC;QAChC,MAAM,+BAA+B,GACnC,MAAA,GAAG,CAAC,uBAAuB,mCAAI,KAAK,CAAC;QACvC,MAAM,QAAQ,GAA4B;YACxC,IAAI;YACJ,OAAO;YACP,IAAI,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;YACpB,QAAQ,EAAE,KAAK;YACf,mBAAmB,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;SACtC,CAAC;QAEF,MAAM,QAAQ,GAAG,CAAC,MAAA,GAAG,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC,GAAG,CACvC,CAAC,OAAO,EAA0B,EAAE;;YAClC,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE,IAAA,iBAAS,EAAC,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE,CAAC;gBACnC,UAAU,EAAE,MAAA,OAAO,CAAC,KAAK,mCAAI,KAAK;gBAClC,QAAQ,EAAE,MAAA,OAAO,CAAC,QAAQ,mCAAI,KAAK;gBACnC,gBAAgB,EAAE,MAAA,OAAO,CAAC,gBAAgB,mCAAI,KAAK;gBACnD,UAAU;gBACV,WAAW,EAAE,MAAA,OAAO,CAAC,IAAI,mCAAI,EAAE;gBAC/B,UAAU,EACR,UAAU,IAAI,+BAA+B;oBAC3C,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;oBACvB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE;aACvB,CAAC;QACJ,CAAC,CACF,CAAC;QAEF,IAAI,IAAI,GAAG,+BAAc,CAAC,OAAO,CAAC;YAChC,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE;YAC1C,MAAM,EAAE,MAAA,GAAG,CAAC,IAAI,mCAAI,EAAE;SACvB,CAAC,CAAC;QAEH,IAAI,GAAG,CAAC,YAAY,EAAE;YACpB,MAAM,kBAAkB,GAAG,IAAI,yCAAmB,CAChD;gBACE,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,EAAE;gBACR,UAAU,EAAE;oBACV,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,IAAA,mBAAO,EAAC,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;iBACvC;aACF,EACD,IAAA,gCAAqB,EAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAC7C,CAAC;YACF,IAAI,GAAG,IAAI,+BAAc,CAAC,IAAI,CAAC,IAAI,EAAE;gBACnC,kBAAkB;gBAClB,GAAG,IAAI,CAAC,MAAM;aACf,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,CAAI,OAAmB;QAC3B,OAAO,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC;YACtD,cAAc;YACd,GAAG,cAAc,CAAC,qBAAqB,EAAE;SAC1C,CAAC,CAAC;IACL,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;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO;QACT,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAC9C,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,KAAK,CAAC,QAAQ,CAAC,UAAU,0CAAE,QAAQ,MAAK,SAAS,CAAA,EAAA,CAC7D,CAAC;QACF,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,eAAe;QACjB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,KAAK,IAAI,CAC9C,CAAC;QACF,OAAO,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IACnC,CAAC;CACF;AA/ID,0CA+IC;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,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
|