diff --git a/src/plugins/core.ts b/src/plugins/core.ts index e1d9c60..e761c89 100644 --- a/src/plugins/core.ts +++ b/src/plugins/core.ts @@ -1,8 +1,17 @@ import { Plugin, PluginAPI } from "@lumeweb/relay-types"; +let pluginsLoadedResolve: () => void; +let pluginsLoadedPromise = new Promise((resolve) => { + pluginsLoadedResolve = resolve; +}); + const plugin: Plugin = { name: "core", async plugin(api: PluginAPI): Promise { + api.once("core.pluginsLoaded", () => { + pluginsLoadedResolve(); + }); + api.registerMethod("ping", { cacheable: false, async handler(): Promise { @@ -13,6 +22,10 @@ const plugin: Plugin = { api.registerMethod("get_methods", { cacheable: false, async handler(): Promise { + await pluginsLoadedPromise; + + console.log("get_methods", api.rpcServer.getMethods()); + return api.rpcServer.getMethods(); }, });