Template for FireWallet plugins https://firewallet.au
Go to file
2025-02-01 16:53:05 +11:00
example.py feat: Template code drop 2025-02-01 16:53:05 +11:00
README.md feat: Template code drop 2025-02-01 16:53:05 +11:00
template.py feat: Template code drop 2025-02-01 16:53:05 +11:00

Plugin Template

This is a template for creating a plugin for Firewallet. It is not meant to be used as is, but rather as a guide for creating your own plugin.

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