diff --git a/exporter.py b/exporter.py
new file mode 100644
index 0000000..a594d4d
--- /dev/null
+++ b/exporter.py
@@ -0,0 +1,89 @@
+import json
+import account
+import requests
+
+# Plugin Data
+info = {
+ "name": "Custom Exporter",
+ "description": "Export info about your wallet with more control",
+ "version": "1.0",
+ "author": "Nathan.Woodburn/"
+}
+
+# Functions
+functions = {
+ "domainExport":{
+ "name": "Export domain info",
+ "type": "default",
+ "description": "Use custom format to export domain data
Options are: name, expiry, value, maxBid, state, expiryBlock, openHeight",
+ "params": {
+ "format": {
+ "name": "Format",
+ "type": "text",
+ }
+ },
+ "returns": {
+ "status":
+ {
+ "name": "Status of the function",
+ "type": "text"
+ }
+ }
+ },
+ "transactionExport":{
+ "name": "Export transaction info",
+ "type": "default",
+ "description": "Use custom format to export transaction data
Options are: hash,height,time,mtime,date,mdate,size,virtualSize,fee,rate,confirmations",
+ "params": {
+ "format": {
+ "name": "Format",
+ "type": "text",
+ }
+ },
+ "returns": {
+ "status":
+ {
+ "name": "Status of the function",
+ "type": "text"
+ }
+ }
+ }
+}
+
+def domainExport(params, authentication):
+ format = params["format"]
+ format = format.split(',')
+ formatStr = ""
+ for item in format:
+ formatStr += "{" + item.strip() + "},"
+ formatStr = formatStr.removesuffix(",")
+ report = account.generateReport(authentication.split(":")[0],formatStr)
+ with open("user_data/report.csv", "w") as f:
+ f.write("\n".join(report))
+
+ return {"status": "Success saved in user_data"}
+
+def transactionExport(params, authentication):
+ format = params["format"]
+ report = format
+ format = format.split(',')
+ format = [item.strip() for item in format]
+
+ transactions = account.getTransactions(authentication.split(":")[0])
+ for tx in transactions:
+ for item in format:
+ if item in tx:
+ if item == "outputs" or item == "inputs":
+ # Escape to make sure it doesn't break the csv
+ continue
+ else:
+ report += f"{tx[item]},"
+ else:
+ report += f"{item},"
+ report.removesuffix(",")
+ report += "\n"
+
+ with open("user_data/report.csv", "w") as f:
+ f.write(report)
+
+ return {"status": "Success saved in user_data"}
\ No newline at end of file