Skip to content

Commit 5b62957

Browse files
authored
Release 2025-07-04 (#3433)
2 parents b33f4dc + 67bc831 commit 5b62957

File tree

33 files changed

+217
-69
lines changed

33 files changed

+217
-69
lines changed

packages/apps/faucet/client/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
},
1818
"devDependencies": {
1919
"@types/react": "^18.3.12",
20-
"dotenv": "^16.3.2",
20+
"dotenv": "^17.0.0",
2121
"eslint": "^8.55.0",
2222
"eslint-config-react-app": "^7.0.1",
2323
"eslint-import-resolver-typescript": "^3.7.0",

packages/apps/faucet/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
"web3": "^4.12.1"
2626
},
2727
"devDependencies": {
28-
"@types/cors": "^2.8.17",
28+
"@types/cors": "^2.8.19",
2929
"@types/express": "^4.17.14",
3030
"@types/node": "^22.15.16",
3131
"concurrently": "^9.1.2",

packages/apps/fortune/exchange-oracle/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"body-parser": "^1.20.3",
4545
"class-transformer": "^0.5.1",
4646
"class-validator": "0.14.1",
47-
"dotenv": "^16.3.2",
47+
"dotenv": "^17.0.0",
4848
"ethers": "~6.13.5",
4949
"joi": "^17.13.3",
5050
"jsonwebtoken": "^9.0.2",

packages/apps/fortune/recording-oracle/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"body-parser": "^1.20.2",
3535
"class-transformer": "^0.5.1",
3636
"class-validator": "0.14.1",
37-
"dotenv": "^16.3.2",
37+
"dotenv": "^17.0.0",
3838
"helmet": "^7.1.0",
3939
"joi": "^17.13.3",
4040
"minio": "7.1.3",

packages/apps/human-app/frontend/src/modules/governance-banner/hooks/use-active-proposal-query.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ async function fetchActiveProposalFn() {
3030
const logs = await contract.queryFilter(
3131
filter,
3232
env.VITE_NETWORK === 'mainnet'
33-
? 68058296
33+
? (await provider.getBlockNumber()) - 100000
3434
: (await provider.getBlockNumber()) - 10000,
3535
'latest'
3636
);

packages/apps/human-app/server/package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@
3131
"@nestjs/common": "^10.2.7",
3232
"@nestjs/config": "^3.1.1",
3333
"@nestjs/core": "^10.3.10",
34+
"@nestjs/passport": "^10.0.0",
3435
"@nestjs/platform-express": "^10.3.10",
3536
"@nestjs/schedule": "^4.0.1",
3637
"@nestjs/swagger": "^7.4.2",
3738
"@nestjs/terminus": "^11.0.0",
39+
"@types/passport-jwt": "^4.0.1",
3840
"axios": "^1.7.2",
3941
"cache-manager": "^5.4.0",
4042
"cache-manager-redis-yet": "^5.1.5",
@@ -45,6 +47,8 @@
4547
"jsonwebtoken": "^9.0.2",
4648
"jwt-decode": "^4.0.0",
4749
"lodash": "^4.17.21",
50+
"passport": "^0.7.0",
51+
"passport-jwt": "^4.0.1",
4852
"reflect-metadata": "^0.2.2",
4953
"rxjs": "^7.2.0"
5054
},
@@ -57,6 +61,7 @@
5761
"@types/jsonwebtoken": "^9.0.7",
5862
"@types/lodash": "^4.17.14",
5963
"@types/node": "22.10.5",
64+
"@types/passport": "^0",
6065
"@types/supertest": "^2.0.15",
6166
"@typescript-eslint/eslint-plugin": "^5.0.0",
6267
"@typescript-eslint/parser": "^5.0.0",

packages/apps/human-app/server/src/app.module.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ const JOI_BOOLEAN_STRING_SCHEMA = Joi.string().valid('true', 'false');
9696
CACHE_TTL_DAILY_HMT_SPENT: Joi.number(),
9797
CACHE_TTL_HCAPTCHA_USER_STATS: Joi.number(),
9898
CACHE_TTL_ORACLE_DISCOVERY: Joi.number(),
99+
CACHE_TTL_ORACLE_AVAILABLE_JOBS: Joi.number(),
99100
JOB_ASSIGNMENTS_DATA_RETENTION_DAYS: Joi.number(),
100101
CACHE_TTL_EXCHANGE_ORACLE_URL: Joi.number(),
101102
CACHE_TTL_EXCHANGE_ORACLE_REGISTRATION_NEEDED: Joi.number(),

packages/apps/human-app/server/src/common/config/environment-config.service.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ const DEFAULT_CACHE_TTL_HCAPTCHA_USER_STATS = 12 * 60 * 60;
66
const DEFAULT_CACHE_TTL_ORACLE_STATS = 12 * 60 * 60;
77
const DEFAULT_CACHE_TTL_USER_STATS = 15 * 60;
88
const DEFAULT_CACHE_TTL_ORACLE_DISCOVERY = 24 * 60 * 60;
9+
const DEFAULT_CACHE_TTL_ORACLE_AVAILABLE_JOBS = 2 * 60;
910
const DEFAULT_JOB_ASSIGNMENTS_DATA_RETENTION_DAYS = 45;
1011
const DEFAULT_CACHE_TTL_DAILY_HMT_SPENT = 24 * 60 * 60;
1112
const DEFAULT_CORS_ALLOWED_ORIGIN = 'http://localhost:5173';
@@ -164,6 +165,19 @@ export class EnvironmentConfigService {
164165
);
165166
}
166167

168+
/**
169+
* The cache time-to-live (TTL) for oracle's available jobs.
170+
* Default: 2 minutes
171+
*/
172+
get cacheTtlOracleAvailableJobs(): number {
173+
return (
174+
this.configService.get<number>(
175+
'CACHE_TTL_ORACLE_AVAILABLE_JOBS',
176+
DEFAULT_CACHE_TTL_ORACLE_AVAILABLE_JOBS,
177+
) * 1000
178+
);
179+
}
180+
167181
/**
168182
* Number of days without updates assignments data is retained.
169183
* Default: 45 days

packages/apps/human-app/server/src/common/guards/strategy/jwt.http.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ export class JwtHttpStrategy extends PassportStrategy(Strategy, 'jwt-http') {
3030
);
3131
done(null, pubKey);
3232
} catch (error) {
33-
console.error(error);
3433
done(error);
3534
}
3635
},

packages/apps/human-app/server/src/integrations/kv-store/kv-store.gateway.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ export class KvStoreGateway {
2727
if (cachedData) {
2828
return cachedData;
2929
}
30-
let fetchedData: string;
30+
let oracleUrl: string;
3131
try {
3232
const runner = new ethers.JsonRpcProvider(this.configService.rpcUrl);
3333
const network = await runner.provider?.getNetwork();
3434
const chainId: ChainId = Number(network?.chainId);
3535

36-
fetchedData = await KVStoreUtils.get(chainId, address, KVStoreKeys.url);
36+
oracleUrl = await KVStoreUtils.get(chainId, address, KVStoreKeys.url);
3737
} catch (e) {
3838
if (e.toString().includes('Error: Invalid address')) {
3939
throw new HttpException(
@@ -46,19 +46,23 @@ export class KvStoreGateway {
4646
);
4747
}
4848
}
49-
if (!fetchedData || fetchedData === '') {
49+
50+
if (!oracleUrl || oracleUrl === '') {
5051
throw new HttpException(
5152
`Unable to retrieve URL from address: ${address}`,
5253
400,
5354
);
54-
} else {
55-
await this.cacheManager.set(
56-
key,
57-
fetchedData,
58-
this.configService.cacheTtlExchangeOracleUrl,
59-
);
60-
return fetchedData;
6155
}
56+
57+
oracleUrl = oracleUrl.replace(/\/$/, '');
58+
59+
await this.cacheManager.set(
60+
key,
61+
oracleUrl,
62+
this.configService.cacheTtlExchangeOracleUrl,
63+
);
64+
65+
return oracleUrl;
6266
}
6367

6468
async getJobTypesByAddress(

0 commit comments

Comments
 (0)