Interface CreatePluginPayload

interface CreatePluginPayload {
    approvedUsers?: string[];
    claimCreatorRedirect?: {
        baseUri: string;
    };
    duplicatesAllowed: boolean;
    metadata: {
        createdBy: string;
        description: string;
        documentation?: string;
        image: string;
        name: string;
        sourceCode?: string;
        supportLink?: string;
    };
    pluginId: string;
    requiresUserInputs: boolean;
    reuseForLists: boolean;
    reuseForNonIndexed: boolean;
    stateFunctionPreset: PluginPresetType;
    toPublish: boolean;
    userInputRedirect?: {
        baseUri: string;
    };
    userInputsSchema?: JsonBodyInputSchema[];
    verificationCall?: {
        method: "POST" | "GET" | "PUT" | "DELETE";
        passAddress?: boolean;
        passDiscord?: boolean;
        passEmail?: boolean;
        passGithub?: boolean;
        passGoogle?: boolean;
        passTwitch?: boolean;
        passTwitter?: boolean;
        uri: string;
    };
}

Properties

approvedUsers?: string[]

The addresses that are allowed to use this plugin.

claimCreatorRedirect?: {
    baseUri: string;
}

Type declaration

  • baseUri: string
duplicatesAllowed: boolean

Whether it makes sense for multiple of this plugin to be allowed

metadata: {
    createdBy: string;
    description: string;
    documentation?: string;
    image: string;
    name: string;
    sourceCode?: string;
    supportLink?: string;
}

Type declaration

  • createdBy: string

    The creator of the plugin

  • description: string

    Description of the plugin

  • Optional documentation?: string

    Documentation for the plugin

  • image: string

    The image of the plugin

  • name: string

    The name of the plugin

  • Optional sourceCode?: string

    Source code for the plugin

  • Optional supportLink?: string

    Support link for the plugin

pluginId: string

The unique plugin ID

requiresUserInputs: boolean

This is a flag for being compatible with auto-triggered claims, meaning no user interaction is needed.

reuseForLists: boolean

Reuse for lists?

reuseForNonIndexed: boolean

Reuse for non-indexed?

stateFunctionPreset: PluginPresetType

Preset type for how the plugin state is to be maintained.

toPublish: boolean

To publish in the directory. This will trigger the start of the review process.

userInputRedirect?: {
    baseUri: string;
}

Type declaration

  • baseUri: string
userInputsSchema?: JsonBodyInputSchema[]
verificationCall?: {
    method: "POST" | "GET" | "PUT" | "DELETE";
    passAddress?: boolean;
    passDiscord?: boolean;
    passEmail?: boolean;
    passGithub?: boolean;
    passGoogle?: boolean;
    passTwitch?: boolean;
    passTwitter?: boolean;
    uri: string;
}

The verification URL

Type declaration

  • method: "POST" | "GET" | "PUT" | "DELETE"
  • Optional passAddress?: boolean
  • Optional passDiscord?: boolean
  • Optional passEmail?: boolean
  • Optional passGithub?: boolean
  • Optional passGoogle?: boolean
  • Optional passTwitch?: boolean
  • Optional passTwitter?: boolean
  • uri: string