From b5e7fee9c1a24a2679f0676121369b9b9bc8c6a9 Mon Sep 17 00:00:00 2001
From: Matthew Orris <1466844+mattheworris@users.noreply.github.com>
Date: Fri, 9 Aug 2024 10:05:57 -0400
Subject: [PATCH] account-service should replace PROVIDER_BASE_URL with
WEBHOOK_BASE_URL (#350)
## Description
The gateway microservices that use webhooks previously used the
environment variable `PROVIDER_BASE_URL` as the webhook target server.
The `social-app-template` has adopted a new nomenclature using
`WEBHOOK_BASE_URL`. All micro services should be in sync with the
`social-app-template` and use the new nomenclature.
## Acceptance Criteria
- All microservices that use webhooks use `WEBHOOK_BASE_URL` to
provision their webhook.
- [x] account
Follow up to remove entirely:
https://github.com/ProjectLibertyLabs/gateway/issues/339
---
docker-compose-k6.account.yaml | 6 +--
docker-compose.yaml | 3 +-
services/account/ENVIRONMENT.md | 2 +-
services/account/README.md | 32 ++++--------
.../account/apps/api/src/build-openapi.ts | 2 +-
.../apps/api/src/services/api.service.ts | 9 ----
.../apps/api/test/setup/package-lock.json | 49 ++++++++++---------
.../account/apps/api/test/setup/package.json | 2 +-
.../transaction_notifier/notifier.service.ts | 2 +-
services/account/env.template | 12 +++--
.../src/blockchain/blockchain.service.spec.ts | 2 +-
.../common/src/config/config.service.spec.ts | 4 +-
.../libs/common/src/config/config.service.ts | 6 +--
.../libs/common/src/config/env.config.ts | 2 +-
.../src/services/provider-webhook.service.ts | 4 +-
services/account/package-lock.json | 9 ++--
services/account/package.json | 2 +-
services/account/scripts/docker-clean-up.sh | 7 +--
.../account/scripts/restart-chain-docker.sh | 4 +-
19 files changed, 70 insertions(+), 89 deletions(-)
diff --git a/docker-compose-k6.account.yaml b/docker-compose-k6.account.yaml
index 7eb2e29c..d5cb4258 100644
--- a/docker-compose-k6.account.yaml
+++ b/docker-compose-k6.account.yaml
@@ -18,8 +18,7 @@ services:
account-service-webhook:
condition: service_healthy
environment:
- PROVIDER_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service'
- WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks'
+ WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service'
account-service-worker:
pull_policy: never
@@ -32,8 +31,7 @@ services:
- redis
- ipfs
environment:
- PROVIDER_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service'
- WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks'
+ WEBHOOK_BASE_URL: 'http://account-service-webhook:3001/webhooks/account-service'
account-service-webhook:
image: rust:1.80.0
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 59c10484..8951b7bf 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -5,7 +5,6 @@ x-common-environment: &common-environment
REDIS_URL: 'redis://redis:6379'
PROVIDER_ID: ${PROVIDER_ID:-1}
PROVIDER_ACCOUNT_SEED_PHRASE: ${PROVIDER_ACCOUNT_SEED_PHRASE:-//Alice}
- WEBHOOK_BASE_URL: 'http://social-app-template-backend:3001/webhooks'
WEBHOOK_FAILURE_THRESHOLD: 3
WEBHOOK_RETRY_INTERVAL_SECONDS: 10
HEALTH_CHECK_MAX_RETRIES: 4
@@ -43,7 +42,7 @@ x-graph-service-env: &graph-service-env
x-account-service-env: &account-service-env
BLOCKCHAIN_SCAN_INTERVAL_SECONDS: 1
TRUST_UNFINALIZED_BLOCKS: true
- PROVIDER_BASE_URL: 'http://social-app-template-backend:3001/webhooks/account-service'
+ WEBHOOK_BASE_URL: 'http://social-app-template-backend:3001/webhooks/account-service'
services:
redis:
diff --git a/services/account/ENVIRONMENT.md b/services/account/ENVIRONMENT.md
index 4022caf5..94f62a90 100644
--- a/services/account/ENVIRONMENT.md
+++ b/services/account/ENVIRONMENT.md
@@ -16,7 +16,7 @@ This application recognizes the following environment variables:
| `HEALTH_CHECK_SUCCESS_THRESHOLD` | Minimum number of consecutive successful calls to the provider webhook `/health` endpoint before it is marked up again | > 0 | | 10 |
| `PROVIDER_ACCESS_TOKEN` | An optional bearer token authentication to the provider webhook | string | | |
| `PROVIDER_ACCOUNT_SEED_PHRASE` | Seed phrase for provider MSA control key | string | Y | |
-| `PROVIDER_BASE_URL` | Base URL for provider webhook endpoints | URL | Y | |
+| `WEBHOOK_BASE_URL` | Base URL for provider webhook endpoints | URL | Y | |
| `PROVIDER_ID` | Provider MSA ID | integer | Y | |
| `REDIS_URL` | Connection URL for Redis | URL | Y | |
| `WEBHOOK_FAILURE_THRESHOLD` | Number of failures allowing in the provider webhook before the service is marked down | > 0 | | 3 |
diff --git a/services/account/README.md b/services/account/README.md
index 32063073..7051cd4b 100644
--- a/services/account/README.md
+++ b/services/account/README.md
@@ -4,15 +4,14 @@
# 📗 Table of Contents
-- [📖 About the Project](#-account-service-a-nameabout-projecta)
+- [📖 About the Project](#account-service)
- [🔍 Arch Map](#-arch-maps)
-- [🛠 Built With](#-built-with-a-namebuilt-witha)
- - [Tech Stack](#tech-stack-a-nametech-stacka)
+- [🛠 Built With](#built-with)
+ - [Tech Stack](#tech-stack)
- [Key Features](#key-features)
- [🚀 Live OpenAPI Docs](#-live-docs)
- [💻 Getting Started](#-getting-started)
- [Prerequisites](#prerequisites)
- - [Setup](#setup)
- [Environment Variables](#environment-variables)
- [Install](#install)
- [Usage](#usage)
@@ -24,7 +23,7 @@
- [Debugging](#debugging)
- [Debugging with VSCode](#using-the-debugger-with-vscode)
- [🤝 Contributing](#-contributing)
-- [⭐️ Show your support](#-show-your-support)
+- [⭐️ Show your support](#show-your-support)
- [❓FAQ](#faq)
- [📝 License](#-license)
@@ -180,26 +179,15 @@ In order to run this project you need:
- [Node.js](https://nodejs.org)
- [Docker](https://docs.docker.com/get-docker/)
-### Setup
-
-Clone this repository to your desired folder:
-
-Example commands:
-
-```sh
- git clone git@github.com:ProjectLibertyLabs/account-service.git
- cd account-service
-```
-
### Environment Variables
Modify any environment variables in the `.env` file as needed. The complete set of environment variables is documented [here](./ENVIRONMENT.md), and a sample environment file is provided [here](./env.template).
1. Copy the template values into the .env files.
- ```sh
+```sh
cp env.template .env
- ```
+```
2. Replace template values with values appropriate to your environment.
@@ -257,12 +245,12 @@ In order to run the `account-service` in development mode without containers, yo
Run the following command to start the account service api and worker containers. This will start the account service api and worker in development mode.
```sh
- docker-compose up -d api worker
+ docker-compose up -d account-service-api account-service-worker
```
#### 4. Check the job in [BullUI](http://0.0.0.0:3000/queues/), to monitor job progress based on defined tests
-## 📋 Testing
+## 📋 Testing
### Run the tests
@@ -276,7 +264,7 @@ In order to run the `account-service` in development mode without containers, yo
### Swagger UI
-Check out the Swagger UI hosted on the app instance at [http://localhost:3000/api/docs/swagger](http://localhost:3000/api/docs/swagger) to view the API documentation and submit requests to the service.
+Check out the Swagger UI hosted on the app instance at [http://localhost:3000/api/docs/swagger](http://localhost:3000/docs/swagger) to view the API documentation and submit requests to the service.
### Queue Management
@@ -339,7 +327,7 @@ Contributions, issues, and feature requests are welcome!
-## ⭐️ Show your support
+## ⭐️ Show your support
If you would like to explore contributing bug fixes or enhancements, issues with the label `good-first-issue` can be a good place to start.
diff --git a/services/account/apps/api/src/build-openapi.ts b/services/account/apps/api/src/build-openapi.ts
index a3e98dda..0cd410b1 100644
--- a/services/account/apps/api/src/build-openapi.ts
+++ b/services/account/apps/api/src/build-openapi.ts
@@ -14,7 +14,7 @@ process.env.FREQUENCY_HTTP_URL = 'http://127.0.0.1';
process.env.PROVIDER_ACCOUNT_SEED_PHRASE =
'offer debate skin describe light badge fish turtle actual inject struggle border';
process.env.PROVIDER_ID = '0';
-process.env.PROVIDER_BASE_URL = 'http://127.0.0.1';
+process.env.WEBHOOK_BASE_URL = 'http://127.0.0.1';
process.env.CAPACITY_LIMIT = '{"type":"amount","value":0}';
// eslint-disable-next-line
diff --git a/services/account/apps/api/src/services/api.service.ts b/services/account/apps/api/src/services/api.service.ts
index de600443..77fa9251 100644
--- a/services/account/apps/api/src/services/api.service.ts
+++ b/services/account/apps/api/src/services/api.service.ts
@@ -15,13 +15,4 @@ export class ApiService implements OnApplicationShutdown {
this.logger.error(`Error during cleanup on shutdown: ${e}`);
}
}
-
- // async watchGraphs(watchGraphsDto: WatchGraphsDto): Promise {
- // watchGraphsDto.msaIds.forEach(async (msaId) => {
- // const redisKey = `${QueueConstants.REDIS_WATCHER_PREFIX}:${msaId}`;
- // const redisValue = watchGraphsDto.webhookEndpoint;
- // // eslint-disable-next-line no-await-in-loop
- // await this.redis.rpush(redisKey, redisValue);
- // });
- // }
}
diff --git a/services/account/apps/api/test/setup/package-lock.json b/services/account/apps/api/test/setup/package-lock.json
index 2cb3ede5..bacc169c 100644
--- a/services/account/apps/api/test/setup/package-lock.json
+++ b/services/account/apps/api/test/setup/package-lock.json
@@ -9,7 +9,6 @@
"version": "1.0.0",
"license": "UNLICENSED",
"dependencies": {
- "@projectlibertylabs/frequency-scenario-template": "^1.1.4",
"@dsnp/frequency-schemas": "^1.1.0",
"@frequency-chain/api-augment": "~1.11.1",
"@polkadot/api": "^10.13.1",
@@ -18,35 +17,13 @@
"@polkadot/util": "^12.6.2",
"@polkadot/util-crypto": "^12.6.2",
"@polkadot/wasm-crypto": "^7.3.2",
+ "@projectlibertylabs/frequency-scenario-template": "1.1.6",
"loglevel": "^1.9.1"
},
"devDependencies": {
"tsx": "^4.15.2"
}
},
- "node_modules/@projectlibertylabs/frequency-scenario-template": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.4.tgz",
- "integrity": "sha512-EF9LwMM2WvATUOwWfG6ETpwrvlxImUanuy3A5O/k/IgjFjsBgqW9qNa+z1oGdsKX6FqbcHtc00ijSo+kBClNig==",
- "dependencies": {
- "@dsnp/frequency-schemas": "^1.1.0",
- "@dsnp/graph-sdk": "^1.1.3",
- "@frequency-chain/api-augment": "~1.11.1",
- "@polkadot/api": "^10.13.1",
- "@polkadot/keyring": "^12.6.2",
- "@polkadot/types": "^10.13.1",
- "@polkadot/types-codec": "^10.13.1",
- "@polkadot/util": "^12.6.2",
- "@polkadot/util-crypto": "^12.6.2",
- "@types/minimist": "^1.2.5",
- "@types/node": "^20.14.2",
- "avsc": "^5.7.7",
- "loglevel": "^1.9.1",
- "minimist": "^1.2.8",
- "rxjs": "^7.8.1",
- "unique-names-generator": "^4.7.1"
- }
- },
"node_modules/@aws-crypto/crc32": {
"version": "3.0.0",
"license": "Apache-2.0",
@@ -1483,6 +1460,30 @@
"node": ">=18"
}
},
+ "node_modules/@projectlibertylabs/frequency-scenario-template": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.6.tgz",
+ "integrity": "sha512-x7kWPG09WIJhxnzDqV6IXPKduPBMdfkFWBX5rH4skzutk+VUfpFpms7qsuyuvINbipg5JeGoJ8oq6TCJWkFZ8g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@dsnp/frequency-schemas": "^1.1.0",
+ "@dsnp/graph-sdk": "^1.1.3",
+ "@frequency-chain/api-augment": "~1.11.1",
+ "@polkadot/api": "^10.13.1",
+ "@polkadot/keyring": "^12.6.2",
+ "@polkadot/types": "^10.13.1",
+ "@polkadot/types-codec": "^10.13.1",
+ "@polkadot/util": "^12.6.2",
+ "@polkadot/util-crypto": "^12.6.2",
+ "@types/minimist": "^1.2.5",
+ "@types/node": "^20.14.2",
+ "avsc": "^5.7.7",
+ "loglevel": "^1.9.1",
+ "minimist": "^1.2.8",
+ "rxjs": "^7.8.1",
+ "unique-names-generator": "^4.7.1"
+ }
+ },
"node_modules/@scure/base": {
"version": "1.1.6",
"license": "MIT",
diff --git a/services/account/apps/api/test/setup/package.json b/services/account/apps/api/test/setup/package.json
index 664a7306..9d060519 100644
--- a/services/account/apps/api/test/setup/package.json
+++ b/services/account/apps/api/test/setup/package.json
@@ -11,7 +11,7 @@
"author": "",
"license": "UNLICENSED",
"dependencies": {
- "@projectlibertylabs/frequency-scenario-template": "^1.1.5",
+ "@projectlibertylabs/frequency-scenario-template": "1.1.6",
"@dsnp/frequency-schemas": "^1.1.0",
"@frequency-chain/api-augment": "~1.11.1",
"@polkadot/api": "^10.13.1",
diff --git a/services/account/apps/worker/src/transaction_notifier/notifier.service.ts b/services/account/apps/worker/src/transaction_notifier/notifier.service.ts
index 0345e8ca..9412f9e7 100644
--- a/services/account/apps/worker/src/transaction_notifier/notifier.service.ts
+++ b/services/account/apps/worker/src/transaction_notifier/notifier.service.ts
@@ -244,6 +244,6 @@ export class TxnNotifierService
}
async getWebhook(): Promise {
- return this.configService.providerBaseUrl.toString();
+ return this.configService.webhookBaseUrl.toString();
}
}
diff --git a/services/account/env.template b/services/account/env.template
index 9f160af3..a40030a2 100644
--- a/services/account/env.template
+++ b/services/account/env.template
@@ -17,8 +17,8 @@ FREQUENCY_HTTP_URL=http://0.0.0.0:9944
PROVIDER_ID=1
# Base URL for provider webhook endpoints
-#PROVIDER_BASE_URL=http://localhost:5555/api/v3
-PROVIDER_BASE_URL=http://host.docker.internal:5555/api/v3/webhook
+#WEBHOOK_BASE_URL=http://localhost:5555/api/v3
+WEBHOOK_BASE_URL=http://host.docker.internal:3001/webhooks/account-service
# Redis URL
REDIS_URL=redis://0.0.0.0:6379
@@ -26,10 +26,12 @@ REDIS_URL=redis://0.0.0.0:6379
# How many seconds to delay between successive scans of the chain
# for new content (after end of chain is reached)
-BLOCKCHAIN_SCAN_INTERVAL_SECONDS=12
+BLOCKCHAIN_SCAN_INTERVAL_SECONDS=3
# Whether to examine blocks that have not been finalized when tracking extrinsic completion
-TRUST_UNFINALIZED_BLOCKS=false
+# Trusting unfinalized blocks is faster but in the unlikely event of a chain reorganization
+# it may result in incorrect data. If set to false, the service will wait for blocks to be finalized
+TRUST_UNFINALIZED_BLOCKS=true
# An optional bearer token authentication to the provider webhook
PROVIDER_ACCESS_TOKEN=some-token
@@ -59,7 +61,7 @@ HEALTH_CHECK_SUCCESS_THRESHOLD=10
CAPACITY_LIMIT='{"serviceLimit":{"type":"percentage","value":"80"}}'
# URL for the Sign-In With Frequency UI
-SIWF_URL=https://projectlibertylabs.github.io/siwf/ui
+SIWF_URL=https://ProjectLibertyLabs.github.io/siwf/ui
# Domain for the Sign-in with Frequency login payload
SIWF_DOMAIN=localhost
diff --git a/services/account/libs/common/src/blockchain/blockchain.service.spec.ts b/services/account/libs/common/src/blockchain/blockchain.service.spec.ts
index 511a6287..bc61be0f 100644
--- a/services/account/libs/common/src/blockchain/blockchain.service.spec.ts
+++ b/services/account/libs/common/src/blockchain/blockchain.service.spec.ts
@@ -19,7 +19,7 @@ describe('BlockchainService', () => {
const configService = {
logger: jest.fn(),
nestConfigService: jest.fn(),
- providerBaseUrl: jest.fn(),
+ webhookBaseUrl: jest.fn(),
providerApiToken: jest.fn(),
getProviderId: jest.fn(),
getQueueHighWater: jest.fn(),
diff --git a/services/account/libs/common/src/config/config.service.spec.ts b/services/account/libs/common/src/config/config.service.spec.ts
index 420bf4db..d7e162f4 100644
--- a/services/account/libs/common/src/config/config.service.spec.ts
+++ b/services/account/libs/common/src/config/config.service.spec.ts
@@ -42,7 +42,7 @@ describe('AccountServiceConfig', () => {
PROVIDER_ID: undefined,
SIWF_URL: undefined,
SIWF_DOMAIN: undefined,
- PROVIDER_BASE_URL: undefined,
+ WEBHOOK_BASE_URL: undefined,
PROVIDER_ACCESS_TOKEN: undefined,
WEBHOOK_FAILURE_THRESHOLD: undefined,
HEALTH_CHECK_SUCCESS_THRESHOLD: undefined,
@@ -183,7 +183,7 @@ describe('AccountServiceConfig', () => {
});
it('should get provider base url', () => {
- expect(accountServiceConfig.providerBaseUrl?.toString()).toStrictEqual(ALL_ENV.PROVIDER_BASE_URL?.toString());
+ expect(accountServiceConfig.webhookBaseUrl?.toString()).toStrictEqual(ALL_ENV.WEBHOOK_BASE_URL?.toString());
});
it('should get provider api token', () => {
diff --git a/services/account/libs/common/src/config/config.service.ts b/services/account/libs/common/src/config/config.service.ts
index fc9b000c..b1bf4c57 100644
--- a/services/account/libs/common/src/config/config.service.ts
+++ b/services/account/libs/common/src/config/config.service.ts
@@ -13,7 +13,7 @@ export interface ConfigEnvironmentVariables {
PROVIDER_ID: string;
SIWF_URL: string;
SIWF_DOMAIN: string;
- PROVIDER_BASE_URL: string;
+ WEBHOOK_BASE_URL: string;
PROVIDER_ACCESS_TOKEN: string;
WEBHOOK_FAILURE_THRESHOLD: number;
HEALTH_CHECK_SUCCESS_THRESHOLD: number;
@@ -59,8 +59,8 @@ export class ConfigService {
return this.nestConfigService.get('TRUST_UNFINALIZED_BLOCKS') ?? false;
}
- public get providerBaseUrl(): URL {
- return this.nestConfigService.get('PROVIDER_BASE_URL')!;
+ public get webhookBaseUrl(): URL {
+ return this.nestConfigService.get('WEBHOOK_BASE_URL')!;
}
public get providerApiToken(): string | undefined {
diff --git a/services/account/libs/common/src/config/env.config.ts b/services/account/libs/common/src/config/env.config.ts
index 1c2557f9..6b4de3a0 100644
--- a/services/account/libs/common/src/config/env.config.ts
+++ b/services/account/libs/common/src/config/env.config.ts
@@ -48,7 +48,7 @@ export const configModuleOptions: ConfigModuleOptions = {
}
return value;
}),
- PROVIDER_BASE_URL: Joi.string().uri().required(),
+ WEBHOOK_BASE_URL: Joi.string().uri().required(),
PROVIDER_ACCESS_TOKEN: Joi.string().default(''),
WEBHOOK_FAILURE_THRESHOLD: Joi.number().min(1).default(3),
WEBHOOK_RETRY_INTERVAL_SECONDS: Joi.number().min(1).default(10),
diff --git a/services/account/libs/common/src/services/provider-webhook.service.ts b/services/account/libs/common/src/services/provider-webhook.service.ts
index b37a587c..6c0befd9 100644
--- a/services/account/libs/common/src/services/provider-webhook.service.ts
+++ b/services/account/libs/common/src/services/provider-webhook.service.ts
@@ -34,7 +34,7 @@ export class ProviderWebhookService implements OnModuleDestroy {
) {
this.logger = new Logger(this.constructor.name);
this.webhook = axios.create({
- baseURL: this.configService.providerBaseUrl.toString(),
+ baseURL: this.configService.webhookBaseUrl.toString(),
});
this.webhook.defaults.headers.common.Authorization = this.configService.providerApiToken;
@@ -61,7 +61,7 @@ export class ProviderWebhookService implements OnModuleDestroy {
if (this.failedHealthChecks > 0) {
if (this.failedHealthChecks >= this.configService.healthCheckMaxRetries) {
this.logger.error(
- `FATAL ERROR: Failed to connect to provider webhook at '${this.configService.providerBaseUrl}' after ${this.failedHealthChecks} attempts.`,
+ `FATAL ERROR: Failed to connect to provider webhook at '${this.configService.webhookBaseUrl}' after ${this.failedHealthChecks} attempts.`,
);
this.eventEmitter.emit('shutdown');
return;
diff --git a/services/account/package-lock.json b/services/account/package-lock.json
index 17957437..5ff72ebc 100644
--- a/services/account/package-lock.json
+++ b/services/account/package-lock.json
@@ -43,7 +43,7 @@
"time-constants": "^1.0.3"
},
"devDependencies": {
- "@projectlibertylabs/frequency-scenario-template": "^1.1.5",
+ "@projectlibertylabs/frequency-scenario-template": "^1.1.6",
"@projectlibertylabs/prettier-config": "file:../../packages/prettier-config",
"@projectlibertylabs/ts-config": "file:../../packages/ts-config",
"@types/jest": "^29.5.12",
@@ -3821,10 +3821,11 @@
}
},
"node_modules/@projectlibertylabs/frequency-scenario-template": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.5.tgz",
- "integrity": "sha512-gH5OQoDzeu+QF5geTziD1aeFtVSAE99yvQZfnneDB1IpHPlbEpSMgiy2IfxsqbsxQU7Rw3cCpGj1chFx7j0ujg==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/@projectlibertylabs/frequency-scenario-template/-/frequency-scenario-template-1.1.6.tgz",
+ "integrity": "sha512-x7kWPG09WIJhxnzDqV6IXPKduPBMdfkFWBX5rH4skzutk+VUfpFpms7qsuyuvINbipg5JeGoJ8oq6TCJWkFZ8g==",
"dev": true,
+ "license": "Apache-2.0",
"dependencies": {
"@dsnp/frequency-schemas": "^1.1.0",
"@dsnp/graph-sdk": "^1.1.3",
diff --git a/services/account/package.json b/services/account/package.json
index 2bc7a9a9..cfc02ea3 100644
--- a/services/account/package.json
+++ b/services/account/package.json
@@ -78,7 +78,7 @@
"time-constants": "^1.0.3"
},
"devDependencies": {
- "@projectlibertylabs/frequency-scenario-template": "^1.1.5",
+ "@projectlibertylabs/frequency-scenario-template": "^1.1.6",
"@projectlibertylabs/prettier-config": "file:../../packages/prettier-config",
"@projectlibertylabs/ts-config": "file:../../packages/ts-config",
"@types/jest": "^29.5.12",
diff --git a/services/account/scripts/docker-clean-up.sh b/services/account/scripts/docker-clean-up.sh
index 3cb66eca..72690827 100755
--- a/services/account/scripts/docker-clean-up.sh
+++ b/services/account/scripts/docker-clean-up.sh
@@ -2,12 +2,13 @@
# Stop and remove containers, networks
echo "Stopping and removing containers, networks..."
-docker compose down
+docker compose down frequency redis account-service-api account-service-worker
# Remove specified volumes
echo "Removing specified volumes..."
-docker volume rm account-service_redis_data
-docker volume rm account-service_chainstorage
+docker volume rm gateway_redis_data
+docker volume rm gateway_chainstorage
+docker volume rm gateway_account_node_cache
# Remove account-service images
echo "Removing account-service image..."
diff --git a/services/account/scripts/restart-chain-docker.sh b/services/account/scripts/restart-chain-docker.sh
index 44bb8268..f8fc00c9 100755
--- a/services/account/scripts/restart-chain-docker.sh
+++ b/services/account/scripts/restart-chain-docker.sh
@@ -22,8 +22,8 @@ echo "Running make setup to provision Provider with capacity, etc..."
make setup
# Start all services in detached mode
-echo "Starting all services..."
-docker compose up -d
+echo "Starting account-service, api and worker apps..."
+docker compose up -d account-service-api account-service-worker
# Start the mock web server
echo "Please run 'make mock-webhook' in a separate terminal..."