aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--docker-compose.mainnet.yml11
-rw-r--r--docker-compose.override.yml11
-rw-r--r--docker-compose.prod.yml44
-rw-r--r--docker-compose.testnet.yml11
-rw-r--r--docker-compose.yml105
-rw-r--r--lib/webhooks.js4
-rw-r--r--routes/send.js11
-rw-r--r--routes/users.js32
9 files changed, 132 insertions, 99 deletions
diff --git a/README.md b/README.md
index 578f7fa0..0e49ee3c 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@ cp .env.sample .env
cp fx.sample fx
docker network create net --gateway 172.18.0.1 --subnet 172.18.0.0/16
docker run -it -v $(pwd):/app --entrypoint pnpm asoltys/coinos-server i
-docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d
+docker-compose up -d
docker exec -i mariadb mysql -u root -ppassword < db/schema.sql
docker exec -it bitcoin bitcoin-cli createwallet coinos
docker exec -it bitcoin bitcoin-cli rescanblockchain
diff --git a/docker-compose.mainnet.yml b/docker-compose.mainnet.yml
deleted file mode 100644
index db4ba9e8..00000000
--- a/docker-compose.mainnet.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: '3.6'
-services:
- lm:
- image: ghcr.io/vulpemventures/elements
- container_name: lm
- volumes:
- - ./config/liquidmainnet:/home/elements/.elements
- restart: unless-stopped
- networks:
- default:
- ipv4_address: 172.18.0.41
diff --git a/docker-compose.override.yml b/docker-compose.override.yml
deleted file mode 100644
index b7318355..00000000
--- a/docker-compose.override.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: '3.6'
-services:
- ui:
- container_name: ui
- image: asoltys/coinos-ui
- ports:
- - 80:80
- volumes:
- - ./config/nginx:/etc/nginx/templates
- environment:
- HOST: ${HOST}
diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml
deleted file mode 100644
index 97173c77..00000000
--- a/docker-compose.prod.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-version: '3.6'
-services:
- ui:
- container_name: ui
- image: asoltys/coinos-ui:prod
- volumes:
- - ./config/nginx:/etc/nginx/templates
- environment:
- HOST: ${HOST}
- network_mode: host
- app:
- container_name: app
- image: asoltys/coinos-server
- environment:
- NODE_ENV: production
- volumes:
- - ./:/app
- network_mode: host
- la:
- image: elementsproject/lightningd:latest
- container_name: la
- volumes:
- - ./config/lightning:/root/.lightning
- restart: unless-stopped
- network_mode: host
- lb:
- image: elementsproject/lightningd:latest
- container_name: lb
- volumes:
- - ./config/lightningb:/root/.lightning
- restart: unless-stopped
- network_mode: host
- maria:
- container_name: mariadb
- image: mariadb:10.6.1
- restart: always
- command:
- - --bind-address=0.0.0.0
- - --port=3307
- environment:
- MARIADB_ROOT_PASSWORD: ${ROOT_PASSWORD}
- volumes:
- - ./mysql:/var/lib/mysql
- network_mode: host
diff --git a/docker-compose.testnet.yml b/docker-compose.testnet.yml
deleted file mode 100644
index b168d94d..00000000
--- a/docker-compose.testnet.yml
+++ /dev/null
@@ -1,11 +0,0 @@
-version: '3.6'
-services:
- lt:
- image: ghcr.io/vulpemventures/elements
- container_name: lt
- volumes:
- - ./config/liquidtestnet:/home/elements/.elements
- restart: unless-stopped
- networks:
- default:
- ipv4_address: 172.18.0.40
diff --git a/docker-compose.yml b/docker-compose.yml
index 7fc36b92..1d3ad061 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,5 +1,20 @@
version: '3.6'
services:
+ ui:
+ depends_on:
+ - app
+ container_name: ui
+ image: asoltys/coinos-ui:dev
+ ports:
+ - '8085:8085'
+ environment:
+ NODE_ENV: development
+ # NODE_OPTIONS: --openssl-legacy-provider
+ volumes:
+ - ../coinos-ui:/app
+ networks:
+ default:
+ ipv4_address: 172.18.0.27
app:
depends_on:
- maria
@@ -55,6 +70,17 @@ services:
networks:
default:
ipv4_address: 172.18.0.25
+ clightning:
+ image: asoltys/lightning
+ container_name: cl
+ environment:
+ LIGHTNINGD_NETWORK: regtest
+ volumes:
+ - ./config/lightning:/root/.lightning
+ restart: unless-stopped
+ networks:
+ default:
+ ipv4_address: 172.18.0.31
maria:
container_name: mariadb
image: mariadb:10.6.1
@@ -68,6 +94,85 @@ services:
networks:
default:
ipv4_address: 172.18.0.26
+ electrsb:
+ image: ghcr.io/vulpemventures/electrs
+ container_name: electrsb
+ entrypoint:
+ - /build/electrs
+ command:
+ - -vvvv
+ - --network
+ - regtest
+ - --daemon-dir
+ - /config
+ - --daemon-rpc-addr
+ - bitcoin:18443
+ - --cookie
+ - admin1:123
+ - --http-addr
+ - 0.0.0.0:3095
+ - --electrum-rpc-addr
+ - 0.0.0.0:60400
+ - --cors
+ - "*"
+ volumes:
+ - ./config/bitcoin/:/config
+ restart: unless-stopped
+ ports:
+ - 3095:3095
+ networks:
+ default:
+ ipv4_address: 172.18.0.28
+ electrs-liquid:
+ image: ghcr.io/vulpemventures/electrs-liquid
+ container_name: electrs
+ depends_on:
+ - liquid
+ entrypoint:
+ - /build/electrs
+ command:
+ - --jsonrpc-import
+ - -vvvv
+ - --parent-network
+ - regtest
+ - --network
+ - liquidregtest
+ - --daemon-dir
+ - /config
+ - --daemon-rpc-addr
+ - liquid:7040
+ - --cookie
+ - admin1:123
+ - --http-addr
+ - 0.0.0.0:3002
+ - --electrum-rpc-addr
+ - 0.0.0.0:60401
+ - --cors
+ - "*"
+ ports:
+ - ${LIQUID_ELECTRS_RPC_PORT}:60401
+ - ${LIQUID_ELECTRS_PORT}:3002
+ volumes:
+ - ./config/liquid/:/config
+ restart: unless-stopped
+ networks:
+ default:
+ ipv4_address: 172.18.0.29
+ esplora-liquid:
+ image: vulpemventures/esplora:latest
+ container_name: esplora-liquid
+ depends_on:
+ - electrs-liquid
+ environment:
+ API_URL: ${LIQUID_ELECTRS_URL}
+ NATIVE_ASSET_ID: 5ac9f65c0efcc4775e0baec4ec03abdde22473cd3cf33c0419ca290e0751b225
+ IS_ELEMENTS: 1
+ ports:
+ - ${LIQUID_ESPLORA_PORT}:5000
+ restart: unless-stopped
+ networks:
+ default:
+ ipv4_address: 172.18.0.30
networks:
default:
external:
diff --git a/lib/webhooks.js b/lib/webhooks.js
index 2dbdf7c1..3d133cf8 100644
--- a/lib/webhooks.js
+++ b/lib/webhooks.js
@@ -25,6 +25,8 @@ callWebhook = (invoice, payment) => {
confirmed,
text,
webhook
- }).res().catch(console.log);
+ })
+ .res()
+ .catch(console.log);
}
};
diff --git a/routes/send.js b/routes/send.js
index 0c93d0a2..7c6728a1 100644
--- a/routes/send.js
+++ b/routes/send.js
@@ -31,8 +31,7 @@ module.exports = ah(async (req, res, next) => {
lock: transaction.LOCK.UPDATE,
transaction
});
- }
- else {
+ } else {
account = await db.Account.findOne({
where: {
user_id: user.id,
@@ -61,7 +60,9 @@ module.exports = ah(async (req, res, next) => {
rate: app.get("rates")[user.currency],
currency: user.currency,
confirmed: true,
- hash: `#${uuidv4().substr(0, 6)} ${(username ? `Payment to ${username}` : "Internal Transfer")}`,
+ hash: `#${uuidv4().substr(0, 6)} ${
+ username ? `Payment to ${username}` : "Internal Transfer"
+ }`,
network: "COINOS"
};
@@ -99,7 +100,7 @@ module.exports = ah(async (req, res, next) => {
};
if (address) params.where.address = address;
else if (payreq) params.where.text = payreq;
- let invoice = (address || payreq) && await db.Invoice.findOne(params);
+ let invoice = (address || payreq) && (await db.Invoice.findOne(params));
let a2;
let acc = {
@@ -164,7 +165,7 @@ module.exports = ah(async (req, res, next) => {
rate: app.get("rates")[recipient.currency] * spread,
currency: recipient.currency,
confirmed: true,
- hash: `#${uuidv4().substr(0,6)} Payment from ${user.username}`,
+ hash: `#${uuidv4().substr(0, 6)} Payment from ${user.username}`,
memo,
network: "COINOS",
received: true
diff --git a/routes/users.js b/routes/users.js
index bcce9c14..56fdf31b 100644
--- a/routes/users.js
+++ b/routes/users.js
@@ -32,21 +32,23 @@ app.get(
auth,
ah(async (req, res) => {
let user = req.user.get({ plain: true });
- let payments = await req.user.getPayments({
- where: {
- account_id: user.account_id
- },
- order: [["id", "DESC"]],
- limit: 12,
- include: [{
- model: db.Account,
- as: "account"
- },
- {
- model: db.Payment,
- as: "fee_payment"
- }]
- });
+ let payments = await req.user.getPayments({
+ where: {
+ account_id: user.account_id
+ },
+ order: [["id", "DESC"]],
+ limit: 12,
+ include: [
+ {
+ model: db.Account,
+ as: "account"
+ },
+ {
+ model: db.Payment,
+ as: "fee_payment"
+ }
+ ]
+ });
user.accounts = await req.user.getAccounts();
user.payments = payments;
res.send(user);