2024-02-04 15:08:24 +11:00
|
|
|
# Plugins
|
|
|
|
|
2024-02-07 15:41:46 +11:00
|
|
|
Plugins can be created to add more functionality to FireWallet Browser
|
|
|
|
|
|
|
|
|
|
|
|
## Format
|
|
|
|
They are created in python and use the format:
|
|
|
|
|
|
|
|
```python
|
|
|
|
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}
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
2024-02-07 13:58:03 +11:00
|
|
|
## 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
|
|
|
|
|
|
|
|
### Manage & Search
|
|
|
|
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
|
2024-02-07 15:41:46 +11:00
|
|
|
Type: `dashboard`
|
2024-02-07 13:58:03 +11:00
|
|
|
This type is used for dashboard plugins.
|
|
|
|
It shows in the dashboard page. It doesn't get any inputs other than the authentication
|
|
|
|
|
|
|
|
|
2024-02-04 15:08:24 +11:00
|
|
|
## 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
|