firewalletbrowser/plugins.md
Nathan Woodburn 4c08d4e24e
All checks were successful
Build Docker / Build Image (push) Successful in 22s
feat: Update plugins info page
2024-02-07 15:41:46 +11:00

2.3 KiB

Plugins

Plugins can be created to add more functionality to FireWallet Browser

Format

They are created in python and use the format:

info = {
    "name": "Plugin Name",
    "description": "Plugin Description",
    "version": "Version number",
    "author": "Your Name",
}
functions = {
    "internalName":{
        "name": "Human readable name",
        "type": "Type of plugin",
        "description": "Function description",
        "params": { # For plugins other than default use {} for no params
            "paramName": {
                "name":"Human readable paramiter name",
                "type":"type of paramiter", 
            }
        },
        "returns": {
            "returnName": 
            {
                "name": "Human readable return name",
                "type": "type of return"
            }
        }
    }
}

def internalName(params, authentication): # This should always have the same inputs
    paramName = params["paramName"]
    wallet = authentication.split(":")[0]
    
    # Do stuff
    output = "Return value of stuff: " + paramName
    
    

    return {"returnName": output}

Types

Default

Type: default This is the default type and is used when no type is specified.
This type is displayed in the plugin page only.
This is the onlu type of plugin that takes user input

For manage page use type: domain For search page use type: search

This type is used for domain plugins. It shows in the manage domain page or the search page. It gets the domain paramater as the only input (in addition to authentication)

Dashboard

Type: dashboard This type is used for dashboard plugins. It shows in the dashboard page. It doesn't get any inputs other than the authentication

Inputs

Plain Text

Type: text

Long Text

Type: longText

Number

Type: number

Checkbox

Type: checkbox

Address

Type: address This will handle hip2 resolution for you so the function will always receive a valid address

DNS

Type: dns This isn't done yet but use it over text as it includes parsing

Outputs

Plain Text

Type: text

List

Type: list This is a list if text items (or HTML items)

Transaction hash

Type: tx This will display the hash and links to explorers

DNS records

Type: dns This will display DNS in a table format