From 81e34242324f6350696711adf8ce6698080b84db Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sat, 3 Jul 2021 17:56:55 -0300 Subject: [PATCH] add hivemind placeholder extension. --- lnbits/extensions/hivemind/README.md | 3 ++ lnbits/extensions/hivemind/__init__.py | 11 ++++++ lnbits/extensions/hivemind/config.json | 6 ++++ lnbits/extensions/hivemind/migrations.py | 10 ++++++ lnbits/extensions/hivemind/models.py | 11 ++++++ .../hivemind/templates/hivemind/index.html | 35 +++++++++++++++++++ lnbits/extensions/hivemind/views.py | 12 +++++++ 7 files changed, 88 insertions(+) create mode 100644 lnbits/extensions/hivemind/README.md create mode 100644 lnbits/extensions/hivemind/__init__.py create mode 100644 lnbits/extensions/hivemind/config.json create mode 100644 lnbits/extensions/hivemind/migrations.py create mode 100644 lnbits/extensions/hivemind/models.py create mode 100644 lnbits/extensions/hivemind/templates/hivemind/index.html create mode 100644 lnbits/extensions/hivemind/views.py diff --git a/lnbits/extensions/hivemind/README.md b/lnbits/extensions/hivemind/README.md new file mode 100644 index 000000000..1e9667ec9 --- /dev/null +++ b/lnbits/extensions/hivemind/README.md @@ -0,0 +1,3 @@ +

Hivemind

+ +Placeholder for a future Bitcoin Hivemind extension. diff --git a/lnbits/extensions/hivemind/__init__.py b/lnbits/extensions/hivemind/__init__.py new file mode 100644 index 000000000..cc2420d83 --- /dev/null +++ b/lnbits/extensions/hivemind/__init__.py @@ -0,0 +1,11 @@ +from quart import Blueprint +from lnbits.db import Database + +db = Database("ext_hivemind") + +hivemind_ext: Blueprint = Blueprint( + "hivemind", __name__, static_folder="static", template_folder="templates" +) + + +from .views import * # noqa diff --git a/lnbits/extensions/hivemind/config.json b/lnbits/extensions/hivemind/config.json new file mode 100644 index 000000000..a5469b15f --- /dev/null +++ b/lnbits/extensions/hivemind/config.json @@ -0,0 +1,6 @@ +{ + "name": "Hivemind", + "short_description": "Make cheap talk expensive!", + "icon": "batch_prediction", + "contributors": ["fiatjaf"] +} diff --git a/lnbits/extensions/hivemind/migrations.py b/lnbits/extensions/hivemind/migrations.py new file mode 100644 index 000000000..775a94548 --- /dev/null +++ b/lnbits/extensions/hivemind/migrations.py @@ -0,0 +1,10 @@ +# async def m001_initial(db): +# await db.execute( +# f""" +# CREATE TABLE hivemind.hivemind ( +# id TEXT PRIMARY KEY, +# wallet TEXT NOT NULL, +# time TIMESTAMP NOT NULL DEFAULT {db.timestamp_now} +# ); +# """ +# ) diff --git a/lnbits/extensions/hivemind/models.py b/lnbits/extensions/hivemind/models.py new file mode 100644 index 000000000..be5232339 --- /dev/null +++ b/lnbits/extensions/hivemind/models.py @@ -0,0 +1,11 @@ +# from sqlite3 import Row +# from typing import NamedTuple + + +# class Example(NamedTuple): +# id: str +# wallet: str +# +# @classmethod +# def from_row(cls, row: Row) -> "Example": +# return cls(**dict(row)) diff --git a/lnbits/extensions/hivemind/templates/hivemind/index.html b/lnbits/extensions/hivemind/templates/hivemind/index.html new file mode 100644 index 000000000..40a320f0b --- /dev/null +++ b/lnbits/extensions/hivemind/templates/hivemind/index.html @@ -0,0 +1,35 @@ +{% extends "base.html" %} {% from "macros.jinja" import window_vars with context +%} {% block page %} + + +
+ This extension is just a placeholder for now. +
+

+ Hivemind is a Bitcoin sidechain + project for a peer-to-peer oracle protocol that absorbs accurate data into + a blockchain so that Bitcoin users can speculate in prediction markets. +

+

+ These markets have the potential to revolutionize the emergence of + diffusion of knowledge in society and fix all sorts of problems in the + world. +

+

+ This extension will become fully operative when the + BIP300 soft-fork gets activated and + Bitcoin Hivemind is launched. +

+
+
+{% endblock %} {% block scripts %} {{ window_vars(user) }} + +{% endblock %} diff --git a/lnbits/extensions/hivemind/views.py b/lnbits/extensions/hivemind/views.py new file mode 100644 index 000000000..21c4c2878 --- /dev/null +++ b/lnbits/extensions/hivemind/views.py @@ -0,0 +1,12 @@ +from quart import g, render_template + +from lnbits.decorators import check_user_exists, validate_uuids + +from . import hivemind_ext + + +@hivemind_ext.route("/") +@validate_uuids(["usr"], required=True) +@check_user_exists() +async def index(): + return await render_template("hivemind/index.html", user=g.user)