Skip to content

Commit 2c4a0a1

Browse files
feat: mass payout (#672)
Signed-off-by: Mario Francia <[email protected]> Signed-off-by: Manu Fernández <[email protected]> Co-authored-by: Manu Fernández <[email protected]> Signed-off-by: Mario Francia <[email protected]>
1 parent b182a1f commit 2c4a0a1

File tree

660 files changed

+205410
-27536
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

660 files changed

+205410
-27536
lines changed

.github/workflows/mp.test.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@ jobs:
6464
- name: Install dependencies
6565
run: npm ci
6666

67-
# - name: Build mass-payout
68-
# run: npm run mp:build
67+
- name: Build mass-payout
68+
run: npm run mass-payout:build
6969

70-
# - name: Test mass-payout
71-
# run: npm run mp:test
70+
- name: Test mass-payout
71+
run: npm run mass-payout:test

README.md

Lines changed: 153 additions & 282 deletions
Large diffs are not rendered by default.

apps/ats/web/package.json

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
"rimraf": "^6.0.1",
5050
"ts-jest": "^29.1.0",
5151
"ts-xor": "^1.1.0",
52-
"typescript": "4.9.5",
52+
"typescript": "5.3.3",
5353
"util": "^0.12.5",
5454
"vite": "4.5.5",
5555
"vite-plugin-environment": "^1.1.3",
@@ -64,22 +64,18 @@
6464
"@hashgraph/asset-tokenization-sdk": "file:../../../packages/ats/sdk",
6565
"@tanstack/react-query": "^4.35.3",
6666
"framer-motion": "^10.16.4",
67-
"i18next": "23.5.1",
68-
"i18next-browser-languagedetector": "7.1.0",
69-
"io-bricks-ui": "^2.7.4",
67+
"i18next": "23.10.1",
68+
"i18next-browser-languagedetector": "7.2.0",
69+
"io-bricks-ui": "2.7.4",
70+
"@phosphor-icons/react": "2.0.9",
7071
"named-urls": "^2.0.1",
7172
"react": "^18.2.0",
7273
"react-device-detect": "^2.2.3",
7374
"react-dom": "^18.2.0",
74-
"react-hook-form": "^7.41.5",
75-
"react-i18next": "^13.2.0",
76-
"react-router-dom": "^6.10.0",
75+
"react-hook-form": "7.41.5",
76+
"react-i18next": "13.2.0",
77+
"react-router-dom": "6.10.0",
7778
"use-react-router-breadcrumbs": "^4.0.1",
78-
"zustand": "^4.4.1"
79-
},
80-
"overrides": {
81-
"ws": "7.5.10",
82-
"elliptic": "6.6.1",
83-
"path-to-regexp": "6.3.0"
79+
"zustand": "4.4.1"
8480
}
8581
}

apps/ats/web/src/i18n/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,8 @@ declare module 'i18next' {
215215
}
216216

217217
i18n
218-
.use(initReactI18next)
219218
.use(LanguageDetector)
219+
.use(initReactI18next)
220220
.init({
221221
defaultNS: 'globals',
222222
detection: {

apps/mass-payout/README.md

Lines changed: 0 additions & 46 deletions
This file was deleted.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
NODE_ENV=local
2+
APP_ENV=local
3+
LOG_LEVEL=log
4+
PORT=3000
5+
POSTGRESQL_HOST=localhost
6+
POSTGRESQL_PORT=5432
7+
POSTGRESQL_USER=postgres
8+
POSTGRESQL_PASSWORD=postgres
9+
POSTGRESQL_DB=postgres
10+
BATCH_SIZE=100
11+
12+
# Mainnet
13+
#BLOCKCHAIN_MIRROR_NODE_URL=https://mainnet-public.mirrornode.hedera.com
14+
#BLOCKCHAIN_CONTRACT_ID=0.0.456858
15+
# Testnet
16+
BLOCKCHAIN_MIRROR_NODE_URL=https://testnet.mirrornode.hedera.com
17+
BLOCKCHAIN_CONTRACT_ID=0.0.429274
18+
BLOCKCHAIN_TOKEN_DECIMALS=6
19+
BLOCKCHAIN_LISTENER_POLL_TIMEOUT=10000
20+
BLOCKCHAIN_LISTENER_START_TIMESTAMP=2025-08-26T00:00:00.000Z

apps/mass-payout/backend/.env.test

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
APP_ENV=local
2+
LOG_LEVEL=log
3+
PORT=3000
4+
HEDERA_USDC_ADDRESS=0.0.123456
5+
6+
BLOCKCHAIN_MIRROR_NODE_URL=https://testnet.mirrornode.hedera.com
7+
BLOCKCHAIN_CONTRACT_ID=0.0.429274
8+
BLOCKCHAIN_TOKEN_DECIMALS=6
9+
BLOCKCHAIN_LISTENER_POLL_TIMEOUT=10000
10+
BLOCKCHAIN_LISTENER_START_TIMESTAMP=2025-08-26T00:00:00.000Z
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
{
2+
"singleQuote": false,
3+
"semi": false,
4+
"printWidth": 120,
5+
"tabWidth": 2,
6+
"endOfLine": "lf"
7+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
FROM node:22.17.0
2+
RUN DEBIAN_FRONTEND=noninteractive apt update -y && apt dist-upgrade -y && apt clean
3+
RUN mkdir /app
4+
COPY . /app
5+
WORKDIR /app
6+
RUN npm install
7+
ENV PATH=/app/node_modules/.bin:$PATH
8+
RUN npm run build
9+
EXPOSE 3000
10+
CMD ["npm", "run", "start:prod"]

apps/mass-payout/backend/README.md

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Scheduler Payment Distribution service
2+
3+
## Table of Contents
4+
5+
- [Installation](#installation)
6+
- [Running the app](#running-the-app)
7+
- [Test](#test)
8+
9+
## Installation
10+
11+
install node version `22.17.0`
12+
13+
Create a `.env` file with the following command:
14+
15+
```bash
16+
cp .env.example .env
17+
```
18+
19+
Install dependencies with the following command:
20+
21+
```bash
22+
npm install
23+
```
24+
25+
Start the postgres database with the docker-compose file:
26+
27+
```bash
28+
docker-compose up -d
29+
```
30+
31+
## Running the app
32+
33+
```bash
34+
# development
35+
$ npm run start
36+
37+
# watch mode
38+
$ npm run start:dev
39+
40+
# production mode
41+
$ npm run start:prod
42+
```
43+
44+
## Test
45+
46+
```bash
47+
# all tests
48+
$ npm run test
49+
50+
# unit tests
51+
$ npm run test:unit
52+
53+
# e2e tests
54+
$ npm run test:e2e
55+
56+
# test coverage
57+
$ npm run test:cov
58+
```
59+
60+
# IDE configuration
61+
62+
## VSCode
63+
64+
1. Install both [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) and
65+
[Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) plugins.
66+
2. Open VSCode's preferences: command + shift + p -> search for 'open user settings (JSON)'
67+
3. Copy these parameters:
68+
69+
```json
70+
"editor.formatOnPaste": true,
71+
"editor.defaultFormatter": "esbenp.prettier-vscode",
72+
"editor.codeActionsOnSave": {
73+
"source.organizeImports": true
74+
}
75+
```
76+
77+
## IntelliJ
78+
79+
1. Open settings
80+
2. Navigate to Languages & Frameworks > Javascript > Prettier
81+
3. Check both 'Automatic Prettier configuration' & 'Run on save'
82+
4. Navigate to Tools > Actions on Save
83+
5. Check 'Optimize imports'

0 commit comments

Comments
 (0)