feat(backend): implement comprehensive trustline and path payment optimization #304
ci.yml
on: pull_request
Frontend — Lint & Build
14s
Backend — Lint & Test
46s
Annotations
11 errors and 2 warnings
|
Frontend — Lint & Build
Process completed with exit code 1.
|
|
src/lib/transaction-signer-rate-limit.test.js > Transaction Signer Rate Limiting > createTransactionSignerRateLimit > uses custom store when provided:
backend/src/lib/transaction-signer-rate-limit.js#L161
TypeError: An invalid store was passed. Please ensure that the store is a class that implements the `Store` interface.
❯ parseOptions node_modules/express-rate-limit/dist/index.mjs:793:11
❯ rateLimit node_modules/express-rate-limit/dist/index.mjs:807:18
❯ Module.createTransactionSignerRateLimit src/lib/transaction-signer-rate-limit.js:161:10
❯ src/lib/transaction-signer-rate-limit.test.js:163:23
|
|
src/lib/transaction-signer-rate-limit.test.js > Transaction Signer Rate Limiting > createTransactionSignerRateLimit > creates rate limiter with custom configuration:
backend/src/lib/transaction-signer-rate-limit.test.js#L157
AssertionError: expected undefined to be 30000 // Object.is equality
- Expected:
30000
+ Received:
undefined
❯ src/lib/transaction-signer-rate-limit.test.js:157:32
|
|
src/lib/transaction-signer-rate-limit.test.js > Transaction Signer Rate Limiting > createTransactionSignerRateLimit > creates rate limiter with default configuration:
backend/src/lib/transaction-signer-rate-limit.test.js#L146
AssertionError: expected undefined to be 60000 // Object.is equality
- Expected:
60000
+ Received:
undefined
❯ src/lib/transaction-signer-rate-limit.test.js:146:32
|
|
src/lib/request-schemas.test.js > paymentZodSchema > does not apply the XLM minimum to non-native assets:
backend/src/lib/request-schemas.js#L116
ReferenceError: isValidStellarPublicKey is not defined
❯ Object.applyPaymentValidationRules [as refinement] src/lib/request-schemas.js:116:5
❯ executeRefinement node_modules/zod/v3/types.js:3229:39
❯ ZodEffects._parse node_modules/zod/v3/types.js:3249:17
❯ ZodEffects._parseSync node_modules/zod/v3/types.js:100:29
❯ ZodEffects._parse node_modules/zod/v3/types.js:3266:47
❯ ZodEffects._parseSync node_modules/zod/v3/types.js:100:29
❯ ZodEffects.safeParse node_modules/zod/v3/types.js:129:29
❯ ZodEffects.parse node_modules/zod/v3/types.js:111:29
❯ src/lib/request-schemas.test.js:238:37
|
|
src/lib/request-schemas.test.js > paymentZodSchema > rejects invalid asset_issuer public keys:
backend/src/lib/request-schemas.test.js#L71
AssertionError: expected [Function] to throw error including 'asset_issuer must be a valid Stellar …' but got 'isValidStellarPublicKey is not defined'
Expected: "asset_issuer must be a valid Stellar public key"
Received: "isValidStellarPublicKey is not defined"
❯ src/lib/request-schemas.test.js:71:7
|
|
src/lib/request-schemas.test.js > paymentZodSchema > recovers the default issuer for configured non-native assets:
backend/src/lib/request-schemas.js#L116
ReferenceError: isValidStellarPublicKey is not defined
❯ Object.applyPaymentValidationRules [as refinement] src/lib/request-schemas.js:116:5
❯ executeRefinement node_modules/zod/v3/types.js:3229:39
❯ ZodEffects._parse node_modules/zod/v3/types.js:3249:17
❯ ZodEffects._parseSync node_modules/zod/v3/types.js:100:29
❯ ZodEffects._parse node_modules/zod/v3/types.js:3266:47
❯ ZodEffects._parseSync node_modules/zod/v3/types.js:100:29
❯ ZodEffects.safeParse node_modules/zod/v3/types.js:129:29
❯ ZodEffects.parse node_modules/zod/v3/types.js:111:29
❯ src/lib/request-schemas.test.js:44:37
|
|
src/lib/request-schemas.test.js > paymentZodSchema > parses and normalizes a valid create-payment request:
backend/src/lib/request-schemas.js#L116
ReferenceError: isValidStellarPublicKey is not defined
❯ Object.applyPaymentValidationRules [as refinement] src/lib/request-schemas.js:116:5
❯ executeRefinement node_modules/zod/v3/types.js:3229:39
❯ ZodEffects._parse node_modules/zod/v3/types.js:3249:17
❯ ZodEffects._parseSync node_modules/zod/v3/types.js:100:29
❯ ZodEffects._parse node_modules/zod/v3/types.js:3266:47
❯ ZodEffects._parseSync node_modules/zod/v3/types.js:100:29
❯ ZodEffects.safeParse node_modules/zod/v3/types.js:129:29
❯ ZodEffects.parse node_modules/zod/v3/types.js:111:29
❯ src/lib/request-schemas.test.js:17:37
|
|
src/lib/db-pooler-optimized.test.js > Database Pooler - Signature Verification (Issue #759) > hashQueryResult > generates different hashes for different results:
backend/src/lib/db-pooler-optimized.test.js#L212
AssertionError: expected 'be3af032c78b126cce1c1ba3e291b8e1d6ab8…' not to be 'be3af032c78b126cce1c1ba3e291b8e1d6ab8…' // Object.is equality
❯ src/lib/db-pooler-optimized.test.js:212:25
|
|
src/lib/db-enhanced.test.js:
backend/src/lib/db-enhanced.js#L25
Error: [vitest] No "default" export is defined on the "pg" mock. Did you forget to return it from "vi.mock"?
If you need to partially mock a module, you can use "importOriginal" helper inside:
vi.mock(import("pg"), async (importOriginal) => {
const actual = await importOriginal()
return {
...actual,
// your mocked methods
}
})
❯ src/lib/db-enhanced.js:25:18
❯ src/lib/db-enhanced.test.js:29:25
|
|
src/lib/auth.test.js > createApiKeyAuth > enforces signature verification when signature headers are present:
backend/src/lib/auth.test.js#L138
AssertionError: expected "spy" to be called with arguments: [ { secret: 'signed-api-key', …(5) } ]
Received:
1st spy call:
Array [
Object {
"body": Object {
"amount": 1,
},
+ "clientIp": "1.2.3.4",
"method": "POST",
"path": "/api/payments",
"secret": "signed-api-key",
"signatureHeader": "sha256=abcd",
"timestampHeader": "1713916800",
},
]
Number of calls: 1
❯ src/lib/auth.test.js:138:36
|
|
Frontend — Lint & Build
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4, pnpm/action-setup@v3. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|
|
Backend — Lint & Test
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-node@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
|