From 8339cbf6ec8bd945f9ec740a222dfe3a2fc092ce Mon Sep 17 00:00:00 2001 From: Alexander Medvedev Date: Tue, 18 Aug 2026 15:45:15 +0200 Subject: [PATCH] some marketplace changes --- v0.1/context.wit | 28 ++++++++++++++++++++++++++++ v0.1/marketplace.wit | 5 ----- v0.1/plugin.wit | 2 -- 3 files changed, 28 insertions(+), 7 deletions(-) delete mode 100644 v0.1/marketplace.wit diff --git a/v0.1/context.wit b/v0.1/context.wit index d702de6..966eea7 100644 --- a/v0.1/context.wit +++ b/v0.1/context.wit @@ -5,6 +5,30 @@ interface context { use command.{command}; use permission.{permission}; + /// Verified marketplace metadata for signed plugins. + record marketplace-metadata { + /// The marketplace base URL where this plugin is registered. + marketplace-url: string, + /// The unique plugin ID on the marketplace. + plugin-id: s64, + /// The canonical plugin name. + plugin-name: string, + /// The semver version string of the plugin. + version: string, + /// Developer ID. + dev-id: s64, + /// Developer display name or username. + dev-name: string, + /// Whether this is a paid marketplace plugin. + is-paid: bool, + /// The buyer / licensee user ID (0 for free/open-source). + user-id: s64, + /// Unique license key issued to the buyer, if paid. + license-key: option, + /// ISO-8601 timestamp of when this binary/license was issued. + issued-at: string, + } + /// A contextual handle for plugin-related operations. resource context { /// Registers a handler for a specific event. @@ -29,5 +53,9 @@ interface context { /// Returns the global server instance. get-server: func() -> server; + + /// Returns verified marketplace metadata if this plugin binary is signed, or none if unsigned. + get-marketplace-metadata: func() -> option; } } + diff --git a/v0.1/marketplace.wit b/v0.1/marketplace.wit deleted file mode 100644 index be3d4a3..0000000 --- a/v0.1/marketplace.wit +++ /dev/null @@ -1,5 +0,0 @@ -/// Interface for querying marketplace details and public keys from the host. -interface marketplace { - /// Returns the active Pumpkin Marketplace Ed25519 public key in hex format (if available/cached). - get-public-key: func() -> option; -} diff --git a/v0.1/plugin.wit b/v0.1/plugin.wit index ec80c78..e59b53e 100644 --- a/v0.1/plugin.wit +++ b/v0.1/plugin.wit @@ -67,8 +67,6 @@ world plugin { import display; /// Provides game rules definitions and queries. import game-rules; - /// Provides marketplace public key access for signature verification. - import marketplace; // --- Plugin-provided exports ---