chore: use monorepo organization
|
|
@ -1,5 +1,4 @@
|
|||
./node_modules
|
||||
./new-lamassu-admin/node_modules
|
||||
**/node_modules
|
||||
.git
|
||||
.direnv
|
||||
.envrc
|
||||
11
.gitignore
vendored
|
|
@ -1,10 +1,9 @@
|
|||
node_modules
|
||||
**/node_modules
|
||||
**/.env
|
||||
|
||||
.idea/
|
||||
.settings/
|
||||
|
||||
certs/
|
||||
tests/stress/machines
|
||||
tests/stress/config.json
|
||||
|
||||
.env
|
||||
packages/server/certs/
|
||||
packages/server/tests/stress/machines
|
||||
packages/server/tests/stress/config.json
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@ shell.nix script provided, all you need to do to setup the environment is to run
|
|||
|
||||
### Install node modules
|
||||
|
||||
Make sure you're running NodeJS 8.3 or higher. Ignore any warnings.
|
||||
|
||||
```
|
||||
npm install
|
||||
```
|
||||
|
|
@ -35,7 +33,7 @@ npm install
|
|||
### Generate certificates
|
||||
|
||||
```
|
||||
bash tools/cert-gen.sh
|
||||
bash packages/server/tools/cert-gen.sh
|
||||
```
|
||||
|
||||
Notes:
|
||||
|
|
@ -46,14 +44,13 @@ Notes:
|
|||
Important: lamassu-migrate currently gripes about a QueryResultError. Ignore this, it works anyway.
|
||||
|
||||
```
|
||||
node bin/lamassu-migrate
|
||||
node packages/server/bin/lamassu-migrate
|
||||
```
|
||||
|
||||
### Run new-lamassu-admin
|
||||
|
||||
```
|
||||
cd new-lamassu-admin/
|
||||
npm install
|
||||
cd packages-admin-ui/
|
||||
npm run start
|
||||
```
|
||||
|
||||
|
|
@ -62,7 +59,7 @@ npm run start
|
|||
In a second terminal window:
|
||||
|
||||
```
|
||||
node bin/lamassu-admin-server --dev
|
||||
node packages/server/bin/lamassu-admin-server --dev
|
||||
```
|
||||
|
||||
### Register admin user
|
||||
|
|
@ -70,7 +67,7 @@ node bin/lamassu-admin-server --dev
|
|||
In a third terminal window:
|
||||
|
||||
```
|
||||
node bin/lamassu-register admin@example.com superuser
|
||||
node packages/server/bin/lamassu-register admin@example.com superuser
|
||||
```
|
||||
|
||||
You'll use this generated URL in the brower in a moment.
|
||||
|
|
@ -86,7 +83,7 @@ Go to all the required, unconfigured red fields and choose some values. Choose m
|
|||
### Run lamassu-server
|
||||
|
||||
```
|
||||
node bin/lamassu-server --mockScoring
|
||||
node packages/server/bin/lamassu-server --mockScoring
|
||||
```
|
||||
|
||||
### Add a lamassu-machine
|
||||
|
|
@ -100,18 +97,18 @@ Now continue with lamassu-machine instructions from the ``INSTALL.md`` file in [
|
|||
To start the Lamassu server run:
|
||||
|
||||
```
|
||||
node bin/lamassu-server --mockScoring
|
||||
node packages/server/bin/lamassu-server --mockScoring
|
||||
```
|
||||
|
||||
To start the Lamassu Admin run:
|
||||
|
||||
```
|
||||
node bin/lamassu-admin-server --dev
|
||||
node packages/server/bin/lamassu-admin-server --dev
|
||||
```
|
||||
|
||||
and
|
||||
|
||||
```
|
||||
cd new-lamassu-admin/
|
||||
cd packages/admin-ui/
|
||||
npm run start
|
||||
```
|
||||
|
|
|
|||
40
INSTALL.md
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
## Preliminaries for Ubuntu 16.04
|
||||
|
||||
Installation for other distros may be slightly different. This assumes NodeJS 8.3 or higher and npm 5.6 are already installed. All of this is done in the lamassu-server directory.
|
||||
Installation for other distros may be slightly different. This assumes NodeJS 22 or higher is already installed. All of this is done in the lamassu-server directory.
|
||||
|
||||
### Packages
|
||||
|
||||
|
|
@ -25,26 +25,11 @@ In ``psql``, run the following and set password to ``postgres123``:
|
|||
ctrl-d
|
||||
```
|
||||
|
||||
## Preliminaries for MacOS
|
||||
|
||||
### Postgres
|
||||
|
||||
Use Postgres.app: https://postgresapp.com/
|
||||
|
||||
**psql** is automatically installed. You won't need to set up users.
|
||||
|
||||
### NodeJS
|
||||
|
||||
```
|
||||
curl -L https://git.io/n-install | bash -s -- -y lts
|
||||
. ~/.bash_profile
|
||||
```
|
||||
|
||||
## Installation
|
||||
|
||||
### Install node modules
|
||||
|
||||
Make sure you're running NodeJS 8.3 or higher. Ignore any warnings.
|
||||
Make sure you're running NodeJS 22 or higher. Ignore any warnings.
|
||||
|
||||
```
|
||||
npm install
|
||||
|
|
@ -53,7 +38,7 @@ npm install
|
|||
### Generate certificates
|
||||
|
||||
```
|
||||
bash tools/cert-gen.sh
|
||||
bash packages/server/tools/cert-gen.sh
|
||||
```
|
||||
|
||||
Notes:
|
||||
|
|
@ -64,14 +49,13 @@ Notes:
|
|||
Important: lamassu-migrate currently gripes about a QueryResultError. Ignore this, it works anyway.
|
||||
|
||||
```
|
||||
node bin/lamassu-migrate
|
||||
node packages/server/bin/lamassu-migrate
|
||||
```
|
||||
|
||||
### Run new-lamassu-admin
|
||||
|
||||
```
|
||||
cd new-lamassu-admin/
|
||||
npm install
|
||||
cd packages/admin-ui/
|
||||
npm run start
|
||||
```
|
||||
|
||||
|
|
@ -80,7 +64,7 @@ npm run start
|
|||
In a second terminal window:
|
||||
|
||||
```
|
||||
node bin/lamassu-admin-server --dev
|
||||
node packages/server/bin/lamassu-admin-server --dev
|
||||
```
|
||||
|
||||
### Register admin user
|
||||
|
|
@ -88,7 +72,7 @@ node bin/lamassu-admin-server --dev
|
|||
In a third terminal window:
|
||||
|
||||
```
|
||||
node bin/lamassu-register admin@example.com superuser
|
||||
node packages/server/bin/lamassu-register admin@example.com superuser
|
||||
```
|
||||
|
||||
You'll use this generated URL in the brower in a moment.
|
||||
|
|
@ -104,7 +88,7 @@ Go to all the required, unconfigured red fields and choose some values. Choose m
|
|||
### Run lamassu-server
|
||||
|
||||
```
|
||||
node bin/lamassu-server --mockScoring
|
||||
node packages/server/bin/lamassu-server --mockScoring
|
||||
```
|
||||
|
||||
### Add a lamassu-machine
|
||||
|
|
@ -115,7 +99,7 @@ Now continue with lamassu-machine instructions from the ``INSTALL.md`` file in [
|
|||
|
||||
### Run a local coin node (BTC supported)
|
||||
|
||||
Run `node bin/lamassu-coins` in the project root and select `Bitcoin`. This process will require the existence of certain environment variables that the setup will warn about.
|
||||
Run `node packages/server/bin/lamassu-coins` in the project root and select `Bitcoin`. This process will require the existence of certain environment variables that the setup will warn about.
|
||||
|
||||
Once that is done, the node needs to be run in a terminal with the following command `<YOUR_BLOCKCHAIN_DIR_ENV_VAR>/bin/bitcoind -datadir=<YOUR_BLOCKCHAIN_DIR_ENV_VAR>/bitcoin`
|
||||
|
||||
|
|
@ -125,18 +109,18 @@ Once that is done, the node needs to be run in a terminal with the following com
|
|||
To start the Lamassu server run:
|
||||
|
||||
```
|
||||
node bin/lamassu-server --mockScoring
|
||||
node packages/server/bin/lamassu-server --mockScoring
|
||||
```
|
||||
|
||||
To start the Lamassu Admin run:
|
||||
|
||||
```
|
||||
node bin/lamassu-admin-server --dev
|
||||
node packages/server/bin/lamassu-admin-server --dev
|
||||
```
|
||||
|
||||
and
|
||||
|
||||
```
|
||||
cd new-lamassu-admin/
|
||||
cd packages/admin-ui/
|
||||
npm run start
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
FROM node:22-alpine AS build-ui
|
||||
RUN apk add --no-cache npm git curl build-base python3
|
||||
|
||||
COPY ["new-lamassu-admin/package.json", "new-lamassu-admin/package-lock.json", "./"]
|
||||
COPY ["packages/admin-ui/package.json", "packages/admin-ui/package-lock.json", "./"]
|
||||
|
||||
RUN npm version --allow-same-version --git-tag-version false --commit-hooks false 1.0.0
|
||||
RUN npm install
|
||||
|
||||
COPY new-lamassu-admin/ ./
|
||||
COPY packages/admin-ui/ ./
|
||||
RUN npm run build
|
||||
|
||||
FROM ubuntu:20.04 as base
|
||||
|
|
@ -31,11 +31,11 @@ RUN apt-get install nodejs -y -q
|
|||
|
||||
WORKDIR lamassu-server
|
||||
|
||||
COPY ["package.json", "package-lock.json", "./"]
|
||||
COPY ["packages/server/package.json", "packages/server/package-lock.json", "./"]
|
||||
RUN npm version --allow-same-version --git-tag-version false --commit-hooks false 1.0.0
|
||||
RUN npm install --production
|
||||
|
||||
COPY . ./
|
||||
COPY ./packages/server/ ./
|
||||
COPY --from=build-ui /build /lamassu-server/public
|
||||
|
||||
RUN cd .. && tar -zcvf lamassu-server.tar.gz ./lamassu-server
|
||||
|
|
@ -3,11 +3,11 @@ RUN apk add --no-cache npm git curl build-base net-tools python3 postgresql-dev
|
|||
|
||||
WORKDIR /lamassu-server
|
||||
|
||||
COPY ["package.json", "package-lock.json", "./"]
|
||||
COPY ["packages/server/package.json", "packages/server/package-lock.json", "./"]
|
||||
RUN npm version --allow-same-version --git-tag-version false --commit-hooks false 1.0.0
|
||||
RUN npm install --production
|
||||
|
||||
COPY . ./
|
||||
COPY .packages/server ./
|
||||
|
||||
|
||||
FROM node:22-alpine AS l-s-base
|
||||
|
|
@ -30,12 +30,12 @@ RUN apk add --no-cache npm git curl build-base python3
|
|||
|
||||
WORKDIR /app
|
||||
|
||||
COPY ["new-lamassu-admin/package.json", "new-lamassu-admin/package-lock.json", "./"]
|
||||
COPY ["packages/admin-ui/package.json", "packages/admin-ui/package-lock.json", "./"]
|
||||
|
||||
RUN npm version --allow-same-version --git-tag-version false --commit-hooks false 1.0.0
|
||||
RUN npm install
|
||||
|
||||
COPY new-lamassu-admin/ ./
|
||||
COPY packages/admin-ui/ ./
|
||||
RUN npm run build
|
||||
|
||||
|
||||
|
|
@ -46,4 +46,4 @@ RUN chmod +x /lamassu-server/bin/lamassu-admin-server-entrypoint.sh
|
|||
|
||||
EXPOSE 443
|
||||
|
||||
ENTRYPOINT [ "/lamassu-server/bin/lamassu-admin-server-entrypoint.sh" ]
|
||||
ENTRYPOINT [ "/lamassu-server/bin/lamassu-admin-server-entrypoint.sh" ]
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
{
|
||||
// See https://go.microsoft.com/fwlink/?LinkId=759670
|
||||
// for the documentation about the jsconfig.json format
|
||||
"compilerOptions": {
|
||||
"target": "es6",
|
||||
"module": "commonjs",
|
||||
"allowSyntheticDefaultImports": true
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
"bower_components",
|
||||
"jspm_packages",
|
||||
"tmp",
|
||||
"temp"
|
||||
]
|
||||
}
|
||||
10024
new-lamassu-admin/package-lock.json
generated
9279
package-lock.json
generated
149
package.json
|
|
@ -1,156 +1,15 @@
|
|||
{
|
||||
"name": "lamassu-server",
|
||||
"description": "bitcoin atm client server protocol module",
|
||||
"keywords": [],
|
||||
"version": "11.0.0-beta.1",
|
||||
"license": "./LICENSE",
|
||||
"author": "Lamassu (https://lamassu.is)",
|
||||
"dependencies": {
|
||||
"@apollo/server": "^4.11.3",
|
||||
"@bitgo/sdk-api": "1.33.0",
|
||||
"@bitgo/sdk-coin-bch": "1.5.22",
|
||||
"@bitgo/sdk-coin-btc": "1.7.22",
|
||||
"@bitgo/sdk-coin-dash": "1.5.22",
|
||||
"@bitgo/sdk-coin-ltc": "2.2.22",
|
||||
"@bitgo/sdk-coin-zec": "1.5.22",
|
||||
"@ethereumjs/common": "^2.6.4",
|
||||
"@ethereumjs/tx": "^3.5.1",
|
||||
"@graphql-tools/merge": "^9.0.22",
|
||||
"@graphql-tools/schema": "^10.0.21",
|
||||
"@graphql-tools/utils": "^10.8.4",
|
||||
"@haensl/subset-sum": "^3.0.5",
|
||||
"@lamassu/coins": "v1.6.1",
|
||||
"@simplewebauthn/server": "^3.0.0",
|
||||
"@vonage/auth": "1.5.0",
|
||||
"@vonage/server-client": "1.7.0",
|
||||
"@vonage/sms": "1.7.0",
|
||||
"@vonage/vetch": "1.5.0",
|
||||
"argon2": "0.28.2",
|
||||
"axios": "0.21.1",
|
||||
"base-x": "3.0.9",
|
||||
"base64url": "^3.0.1",
|
||||
"bchaddrjs": "^0.3.0",
|
||||
"bignumber.js": "9.0.1",
|
||||
"bip39": "^2.3.1",
|
||||
"ccxt": "2.9.16",
|
||||
"compression": "^1.7.4",
|
||||
"connect-pg-simple": "^6.2.1",
|
||||
"console-log-level": "^1.4.0",
|
||||
"cookie-parser": "^1.4.3",
|
||||
"cors": "^2.8.5",
|
||||
"dataloader": "^2.0.0",
|
||||
"date-fns": "^2.26.0",
|
||||
"date-fns-tz": "^1.1.6",
|
||||
"dateformat": "^3.0.3",
|
||||
"dotenv": "^16.0.0",
|
||||
"elliptic-sdk": "^0.7.2",
|
||||
"ethereumjs-tx": "^1.3.3",
|
||||
"ethereumjs-util": "^5.2.0",
|
||||
"ethereumjs-wallet": "^0.6.3",
|
||||
"express": "4.17.1",
|
||||
"express-session": "^1.17.1",
|
||||
"form-data": "^4.0.0",
|
||||
"futoin-hkdf": "^1.0.2",
|
||||
"got": "^7.1.0",
|
||||
"graphql": "^16.10.0",
|
||||
"graphql-scalars": "^1.24.1",
|
||||
"graphql-tag": "^2.12.6",
|
||||
"graphql-upload": "^17.0.0",
|
||||
"helmet": "^3.8.1",
|
||||
"inquirer": "^5.2.0",
|
||||
"json2csv": "^5.0.3",
|
||||
"libphonenumber-js": "^1.7.38",
|
||||
"lodash": "^4.17.10",
|
||||
"mailgun-js": "^0.21.0",
|
||||
"make-dir": "^1.0.0",
|
||||
"mem": "^1.1.0",
|
||||
"migrate": "^1.6.2",
|
||||
"minimist": "^1.2.0",
|
||||
"morgan": "^1.8.2",
|
||||
"nan": "^2.14.0",
|
||||
"nano-markdown": "^1.2.0",
|
||||
"ndjson": "^1.5.0",
|
||||
"nocache": "^2.1.0",
|
||||
"node-cache": "^5.1.2",
|
||||
"otplib": "^12.0.1",
|
||||
"p-each-series": "^1.0.0",
|
||||
"p-queue": "^6.6.2",
|
||||
"p-retry": "^4.4.0",
|
||||
"pg-native": "^3.0.0",
|
||||
"pg-promise": "^10.10.2",
|
||||
"pify": "^3.0.0",
|
||||
"pretty-ms": "^2.1.0",
|
||||
"promise-sequential": "^1.1.1",
|
||||
"queue-promise": "^2.2.1",
|
||||
"request-promise": "^4.2.6",
|
||||
"semver": "^7.7.1",
|
||||
"serve-static": "^1.12.4",
|
||||
"talisman": "^0.20.0",
|
||||
"telnyx": "^1.25.5",
|
||||
"tronweb": "^5.3.0",
|
||||
"twilio": "^3.6.1",
|
||||
"uuid": "8.3.2",
|
||||
"web3": "1.7.1",
|
||||
"winston": "^2.4.2",
|
||||
"winston-transport": "^4.3.0",
|
||||
"xml-stream": "^0.4.5",
|
||||
"xmlrpc": "^1.3.2",
|
||||
"yup": "^0.31.1"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/lamassu/lamassu-server.git"
|
||||
},
|
||||
"bin": {
|
||||
"lamassu-server": "./bin/lamassu-server",
|
||||
"lamassu-migrate": "./bin/lamassu-migrate",
|
||||
"lamassu-register": "./bin/lamassu-register",
|
||||
"lamassu-admin-server": "./bin/lamassu-admin-server",
|
||||
"hkdf": "./bin/hkdf",
|
||||
"bip39": "./bin/bip39",
|
||||
"lamassu-backup-pg": "./bin/lamassu-backup-pg",
|
||||
"lamassu-mnemonic": "./bin/lamassu-mnemonic",
|
||||
"lamassu-coins": "./bin/lamassu-coins",
|
||||
"lamassu-ofac-update": "./bin/lamassu-ofac-update",
|
||||
"lamassu-send-coins": "./bin/lamassu-send-coins",
|
||||
"lamassu-update-to-mnemonic": "./bin/lamassu-update-to-mnemonic",
|
||||
"lamassu-btc-bumpfee": "./bin/lamassu-btc-bumpfee",
|
||||
"lamassu-update-wallet-nodes": "./bin/lamassu-update-wallet-nodes",
|
||||
"lamassu-configure-frontcamera": "./bin/lamassu-configure-frontcamera",
|
||||
"lamassu-devices": "./bin/lamassu-devices",
|
||||
"lamassu-operator": "./bin/lamassu-operator",
|
||||
"lamassu-coinatmradar": "./bin/lamassu-coinatmradar",
|
||||
"lamassu-eth-recovery": "./bin/lamassu-eth-recovery",
|
||||
"lamassu-trx-recovery": "./bin/lamassu-trx-recovery",
|
||||
"lamassu-update-cassettes": "./bin/lamassu-update-cassettes",
|
||||
"lamassu-clean-parsed-id": "./bin/lamassu-clean-parsed-id"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node bin/lamassu-server",
|
||||
"test": "mocha --recursive tests",
|
||||
"jtest": "jest --detectOpenHandles",
|
||||
"build-admin": "npm run build-admin:css && npm run build-admin:main && npm run build-admin:lamassu",
|
||||
"server": "nodemon bin/lamassu-server --mockScoring --logLevel silly",
|
||||
"admin-server": "nodemon bin/lamassu-admin-server --dev --logLevel silly",
|
||||
"watch": "concurrently \"npm:server\" \"npm:admin-server\"",
|
||||
"stress-test": "cd tests/stress/ && node index.js 50 -v"
|
||||
},
|
||||
"nodemonConfig": {
|
||||
"ignore": [
|
||||
"new-lamassu-admin/*"
|
||||
]
|
||||
},
|
||||
"devDependencies": {
|
||||
"concurrently": "^5.3.0",
|
||||
"jest": "^26.6.3",
|
||||
"nodemon": "^2.0.6",
|
||||
"standard": "^12.0.1"
|
||||
},
|
||||
"standard": {
|
||||
"ignore": [
|
||||
"/lamassu-admin-elm",
|
||||
"/public",
|
||||
"/new-lamassu-admin"
|
||||
]
|
||||
}
|
||||
"workspaces": [
|
||||
"packages/server",
|
||||
"packages/admin-ui"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@
|
|||
"type": "module",
|
||||
"dependencies": {
|
||||
"@apollo/client": "^3.13.7",
|
||||
"@emotion/react": "^11.14.0",
|
||||
"@emotion/styled": "^11.14.0",
|
||||
"@lamassu/coins": "v1.6.1",
|
||||
"@mui/icons-material": "^7.1.0",
|
||||
"@mui/material": "^7.1.0",
|
||||
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 70 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 160 KiB After Width: | Height: | Size: 160 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |