Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
130 changes: 72 additions & 58 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -59,23 +61,22 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
command: mkdir -p $HOME/.ark/database
- run:
name: core-vote-report
command: 'cd ~/ark-core/packages/core-vote-report && yarn test:coverage'
name: core-webhooks
command: 'cd ~/ark-core/packages/core-webhooks && yarn test:coverage'
- run:
name: core-tester-cli
command: 'cd ~/ark-core/packages/core-tester-cli && yarn test:coverage'
name: core-transaction-pool
command: 'cd ~/ark-core/packages/core-transaction-pool && yarn test:coverage'
- run:
name: core-snapshots
command: 'cd ~/ark-core/packages/core-snapshots && yarn test:coverage'
name: core-logger-winston
command: 'cd ~/ark-core/packages/core-logger-winston && yarn test:coverage'
- run:
name: core-logger
command: 'cd ~/ark-core/packages/core-logger && yarn test:coverage'
name: core-jest-matchers
command: 'cd ~/ark-core/packages/core-jest-matchers && yarn test:coverage'
- run:
name: core-graphql
command: 'cd ~/ark-core/packages/core-graphql && yarn test:coverage'
Expand Down Expand Up @@ -141,6 +142,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -154,23 +157,22 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
command: mkdir -p $HOME/.ark/database
- run:
name: core-vote-report
command: 'cd ~/ark-core/packages/core-vote-report && yarn test:coverage'
name: core-webhooks
command: 'cd ~/ark-core/packages/core-webhooks && yarn test:coverage'
- run:
name: core-tester-cli
command: 'cd ~/ark-core/packages/core-tester-cli && yarn test:coverage'
name: core-transaction-pool
command: 'cd ~/ark-core/packages/core-transaction-pool && yarn test:coverage'
- run:
name: core-snapshots
command: 'cd ~/ark-core/packages/core-snapshots && yarn test:coverage'
name: core-logger-winston
command: 'cd ~/ark-core/packages/core-logger-winston && yarn test:coverage'
- run:
name: core-logger
command: 'cd ~/ark-core/packages/core-logger && yarn test:coverage'
name: core-jest-matchers
command: 'cd ~/ark-core/packages/core-jest-matchers && yarn test:coverage'
- run:
name: core-graphql
command: 'cd ~/ark-core/packages/core-graphql && yarn test:coverage'
Expand Down Expand Up @@ -236,6 +238,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -249,7 +253,6 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
Expand Down Expand Up @@ -316,6 +319,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -329,20 +334,25 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
command: mkdir -p $HOME/.ark/database
- run:
name: core-webhooks
command: 'cd ~/ark-core/packages/core-webhooks && yarn test:coverage'
name: crypto
command: 'cd ~/ark-core/packages/crypto && yarn test:coverage'
- run:
name: core-transaction-pool
command: 'cd ~/ark-core/packages/core-transaction-pool && yarn test:coverage'
name: core-utils
command: 'cd ~/ark-core/packages/core-utils && yarn test:coverage'
- run:
name: core-logger-winston
command: 'cd ~/ark-core/packages/core-logger-winston && yarn test:coverage'
name: core-test-utils
command: 'cd ~/ark-core/packages/core-test-utils && yarn test:coverage'
- run:
name: core-p2p
command: 'cd ~/ark-core/packages/core-p2p && yarn test:coverage'
- run:
name: core-json-rpc
command: 'cd ~/ark-core/packages/core-json-rpc && yarn test:coverage'
- run:
name: core-http-utils
command: 'cd ~/ark-core/packages/core-http-utils && yarn test:coverage'
Expand Down Expand Up @@ -408,6 +418,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -421,26 +433,22 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
command: mkdir -p $HOME/.ark/database
- run:
name: crypto
command: 'cd ~/ark-core/packages/crypto && yarn test:coverage'
- run:
name: core-utils
command: 'cd ~/ark-core/packages/core-utils && yarn test:coverage'
name: core-vote-report
command: 'cd ~/ark-core/packages/core-vote-report && yarn test:coverage'
- run:
name: core-test-utils
command: 'cd ~/ark-core/packages/core-test-utils && yarn test:coverage'
name: core-tester-cli
command: 'cd ~/ark-core/packages/core-tester-cli && yarn test:coverage'
- run:
name: core-p2p
command: 'cd ~/ark-core/packages/core-p2p && yarn test:coverage'
name: core-snapshots
command: 'cd ~/ark-core/packages/core-snapshots && yarn test:coverage'
- run:
name: core-json-rpc
command: 'cd ~/ark-core/packages/core-json-rpc && yarn test:coverage'
name: core-logger
command: 'cd ~/ark-core/packages/core-logger && yarn test:coverage'
- run:
name: core-forger
command: 'cd ~/ark-core/packages/core-forger && yarn test:coverage'
Expand Down Expand Up @@ -500,6 +508,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -513,7 +523,6 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
Expand Down Expand Up @@ -580,6 +589,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -593,20 +604,25 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
command: mkdir -p $HOME/.ark/database
- run:
name: core-webhooks
command: 'cd ~/ark-core/packages/core-webhooks && yarn test:coverage'
name: crypto
command: 'cd ~/ark-core/packages/crypto && yarn test:coverage'
- run:
name: core-transaction-pool
command: 'cd ~/ark-core/packages/core-transaction-pool && yarn test:coverage'
name: core-utils
command: 'cd ~/ark-core/packages/core-utils && yarn test:coverage'
- run:
name: core-logger-winston
command: 'cd ~/ark-core/packages/core-logger-winston && yarn test:coverage'
name: core-test-utils
command: 'cd ~/ark-core/packages/core-test-utils && yarn test:coverage'
- run:
name: core-p2p
command: 'cd ~/ark-core/packages/core-p2p && yarn test:coverage'
- run:
name: core-json-rpc
command: 'cd ~/ark-core/packages/core-json-rpc && yarn test:coverage'
- run:
name: core-http-utils
command: 'cd ~/ark-core/packages/core-http-utils && yarn test:coverage'
Expand Down Expand Up @@ -672,6 +688,8 @@ jobs:
- ./packages/core-forger/node_modules
- ./packages/core-graphql/node_modules
- ./packages/core-http-utils/node_modules
- ./packages/core-interfaces/node_modules
- ./packages/core-jest-matchers/node_modules
- ./packages/core-json-rpc/node_modules
- ./packages/core-logger/node_modules
- ./packages/core-logger-winston/node_modules
Expand All @@ -685,26 +703,22 @@ jobs:
- ./packages/core-vote-report/node_modules
- ./packages/core-webhooks/node_modules
- ./packages/crypto/node_modules
- ./packages/core-interfaces/node_modules
- ./node_modules
- run:
name: Create .ark/database directory
command: mkdir -p $HOME/.ark/database
- run:
name: crypto
command: 'cd ~/ark-core/packages/crypto && yarn test:coverage'
- run:
name: core-utils
command: 'cd ~/ark-core/packages/core-utils && yarn test:coverage'
name: core-vote-report
command: 'cd ~/ark-core/packages/core-vote-report && yarn test:coverage'
- run:
name: core-test-utils
command: 'cd ~/ark-core/packages/core-test-utils && yarn test:coverage'
name: core-tester-cli
command: 'cd ~/ark-core/packages/core-tester-cli && yarn test:coverage'
- run:
name: core-p2p
command: 'cd ~/ark-core/packages/core-p2p && yarn test:coverage'
name: core-snapshots
command: 'cd ~/ark-core/packages/core-snapshots && yarn test:coverage'
- run:
name: core-json-rpc
command: 'cd ~/ark-core/packages/core-json-rpc && yarn test:coverage'
name: core-logger
command: 'cd ~/ark-core/packages/core-logger && yarn test:coverage'
- run:
name: core-forger
command: 'cd ~/ark-core/packages/core-forger && yarn test:coverage'
Expand Down
2 changes: 1 addition & 1 deletion packages/core-api/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Container, Logger } from "@arkecosystem/core-interfaces";
import { defaults } from "./defaults";
import { Server } from "./server";

export const plugin : Container.PluginDescriptor = {
export const plugin: Container.PluginDescriptor = {
pkg: require("../package.json"),
defaults,
alias: "api",
Expand Down
42 changes: 42 additions & 0 deletions packages/core-api/src/services/cache.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { app } from "@arkecosystem/core-container";
import { createHash } from "crypto";
import Hapi from "hapi";

export class ServerCache {
public static make(server: Hapi.Server): ServerCache {
return new ServerCache(server);
}

private constructor(readonly server: Hapi.Server) {}

public method(name: string, method: any, expiresIn: number, argsCallback?: any): this {
let options = {};

if (this.server.app.config.cache.enabled) {
options = {
cache: {
expiresIn: expiresIn * 1000,
generateTimeout: this.getCacheTimeout(),
getDecoratedValue: true,
},
generateKey: request => this.generateCacheKey(argsCallback(request)),
};
}

this.server.method(name, method, options);

return this;
}

private generateCacheKey(value: object): string {
return createHash("sha256")
.update(JSON.stringify(value))
.digest("hex");
}

private getCacheTimeout(): number | boolean {
const { generateTimeout } = app.resolveOptions("api").cache;

return JSON.parse(generateTimeout);
}
}
4 changes: 4 additions & 0 deletions packages/core-api/src/services/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import { ServerCache } from "./cache";
import { transformerService } from "./transformer";

export { ServerCache, transformerService };
2 changes: 0 additions & 2 deletions packages/core-api/src/services/transformer.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
import { resolve } from "path";

import { transformAccountLegacy } from "../versions/1/accounts/transformer";
import { transformBlockLegacy } from "../versions/1/blocks/transformer";
import { transformDelegateLegacy } from "../versions/1/delegates/transformer";
Expand Down
Loading