@flarestudio/fcc-workbench 1.0.7 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/config.js +27 -4
- package/dist/modules/config.js.map +1 -1
- package/dist/modules/scaffold.js +24 -20
- package/dist/modules/scaffold.js.map +1 -1
- package/dist/templates/index.d.ts +2 -0
- package/dist/templates/index.js +101 -18
- package/dist/templates/index.js.map +1 -1
- package/package.json +1 -1
package/dist/modules/config.js
CHANGED
|
@@ -38,13 +38,36 @@ export function writeEnv(updates) {
|
|
|
38
38
|
export function writeProxyToml(opts) {
|
|
39
39
|
const tomlPath = path.resolve(process.cwd(), TOML_FILE);
|
|
40
40
|
fs.ensureDirSync(path.dirname(tomlPath));
|
|
41
|
-
const content = `
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
const content = `redis_port = "redis:6379"
|
|
42
|
+
chain_id = 114
|
|
43
|
+
private_key_variable = "PRIVATE_KEY"
|
|
44
|
+
initial_signing_policy_offset = 3
|
|
45
|
+
signing_policy_fetch_interval = "20s"
|
|
46
|
+
|
|
47
|
+
[db]
|
|
48
|
+
host = "${opts.dbHost}"
|
|
49
|
+
port = ${opts.dbPort}
|
|
44
50
|
database = "indexer"
|
|
45
51
|
username = "${opts.dbUser}"
|
|
46
52
|
password = "${opts.dbPass}"
|
|
47
|
-
|
|
53
|
+
log_queries = false
|
|
54
|
+
|
|
55
|
+
[addresses]
|
|
56
|
+
flare_systems_manager = "0xA90Db6D10F856799b10ef2A77EBCbF460aC71e52"
|
|
57
|
+
relay = "0xa10B672D1c62e5457b17af63d4302add6A99d7dE"
|
|
58
|
+
voter_registry = "0x6a0AF07b7972177B176d3D422555cbc98DfDe914"
|
|
59
|
+
|
|
60
|
+
[ports]
|
|
61
|
+
internal = "6663"
|
|
62
|
+
external = "6664"
|
|
63
|
+
|
|
64
|
+
[info_timing]
|
|
65
|
+
cycle_internal = "100s"
|
|
66
|
+
cycle_queue_response_wait = "2s"
|
|
67
|
+
|
|
68
|
+
[voting]
|
|
69
|
+
proposal_expiration = "120s"
|
|
70
|
+
max_pending_request = 10000`;
|
|
48
71
|
fs.writeFileSync(tomlPath, content, 'utf8');
|
|
49
72
|
}
|
|
50
73
|
export function envExists() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/modules/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,UAAU,OAAO;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,EAAE,CAAC;IAEvC,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3D,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,OAAwB;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,OAAO,EAA4B,CAAC;IACrD,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAE3C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAK9B;IACC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACxD,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEzC,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/modules/config.ts"],"names":[],"mappings":"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"}
|
package/dist/modules/scaffold.js
CHANGED
|
@@ -13,25 +13,23 @@ export async function createAgent(name, language) {
|
|
|
13
13
|
await fs.ensureDir(projectDir);
|
|
14
14
|
await fs.ensureDir(path.join(projectDir, 'extension'));
|
|
15
15
|
await fs.ensureDir(path.join(projectDir, 'proxy'));
|
|
16
|
+
await fs.ensureDir(path.join(projectDir, 'config', 'proxy'));
|
|
17
|
+
await fs.ensureDir(path.join(projectDir, 'contracts'));
|
|
18
|
+
await fs.ensureDir(path.join(projectDir, 'scripts'));
|
|
16
19
|
// Write common files
|
|
17
20
|
await fs.writeFile(path.join(projectDir, 'docker-compose.yml'), templates.DOCKER_COMPOSE);
|
|
18
|
-
const agentPath = projectDir;
|
|
19
|
-
await fs.ensureDir(agentPath);
|
|
20
|
-
// Create core structure
|
|
21
|
-
await fs.ensureDir(path.join(agentPath, 'extension'));
|
|
22
|
-
await fs.ensureDir(path.join(agentPath, 'contracts'));
|
|
23
|
-
await fs.ensureDir(path.join(agentPath, 'scripts'));
|
|
24
21
|
// Write Docker stack
|
|
25
|
-
await fs.writeFile(path.join(
|
|
26
|
-
await fs.writeFile(path.join(
|
|
27
|
-
await fs.writeFile(path.join(
|
|
22
|
+
await fs.writeFile(path.join(projectDir, 'extension', 'Dockerfile'), templates.DOCKERFILE);
|
|
23
|
+
await fs.writeFile(path.join(projectDir, 'proxy', 'Dockerfile'), templates.PROXY_DOCKERFILE);
|
|
24
|
+
await fs.writeFile(path.join(projectDir, 'config', 'proxy', 'extension_proxy.toml'), templates.PROXY_CONFIG);
|
|
25
|
+
await fs.writeFile(path.join(projectDir, '.env.example'), 'PRIVATE_KEY=0x...\nEXTENSION_ID=\nINSTRUCTION_SENDER=\nRPC_URL=https://coston2-api.flare.network/ext/C/rpc');
|
|
28
26
|
// Write App Kernel
|
|
29
27
|
const appFile = language === 'typescript' ? 'app.ts' : language === 'python' ? 'app.py' : 'main.go';
|
|
30
28
|
const appContent = language === 'typescript' ? templates.TS_APP : language === 'python' ? templates.PY_APP : templates.GO_APP;
|
|
31
|
-
await fs.writeFile(path.join(
|
|
29
|
+
await fs.writeFile(path.join(projectDir, 'extension', appFile), appContent);
|
|
32
30
|
if (language === 'typescript') {
|
|
33
|
-
await fs.writeFile(path.join(
|
|
34
|
-
await fs.writeFile(path.join(
|
|
31
|
+
await fs.writeFile(path.join(projectDir, 'extension', 'package.json'), templates.TS_PACKAGE(name));
|
|
32
|
+
await fs.writeFile(path.join(projectDir, 'extension', 'tsconfig.json'), JSON.stringify({
|
|
35
33
|
compilerOptions: {
|
|
36
34
|
target: "ESNext",
|
|
37
35
|
module: "ESNext",
|
|
@@ -44,16 +42,22 @@ export async function createAgent(name, language) {
|
|
|
44
42
|
}
|
|
45
43
|
}, null, 2));
|
|
46
44
|
}
|
|
47
|
-
// Write Solidity Contract
|
|
48
|
-
await fs.writeFile(path.join(
|
|
49
|
-
await fs.writeFile(path.join(
|
|
45
|
+
// Write Solidity Contract
|
|
46
|
+
await fs.writeFile(path.join(projectDir, 'contracts', 'InstructionSender.sol'), templates.SOL_CONTRACT);
|
|
47
|
+
await fs.writeFile(path.join(projectDir, 'scripts', 'deploy.js'), templates.DEPLOY_SCRIPT);
|
|
50
48
|
console.log(chalk.green(`\n✔ Ghost Agent ${name} birthed successfully!`));
|
|
51
|
-
console.log(chalk.white('\
|
|
52
|
-
console.log(chalk.gray(' -
|
|
53
|
-
console.log(chalk.gray(' -
|
|
54
|
-
console.log(chalk.
|
|
49
|
+
console.log(chalk.white('\nGenerated:'));
|
|
50
|
+
console.log(chalk.gray(' - extension/ (TEE app code)'));
|
|
51
|
+
console.log(chalk.gray(' - proxy/Dockerfile (Flare TEE proxy)'));
|
|
52
|
+
console.log(chalk.gray(' - config/proxy/ (Proxy config — fill in DB creds)'));
|
|
53
|
+
console.log(chalk.gray(' - contracts/ (InstructionSender.sol)'));
|
|
54
|
+
console.log(chalk.white('\nNext steps:'));
|
|
55
55
|
console.log(chalk.cyan(` cd ${name}`));
|
|
56
|
-
console.log(chalk.
|
|
56
|
+
console.log(chalk.yellow(' 1. Fill in config/proxy/extension_proxy.toml (DB credentials)'));
|
|
57
|
+
console.log(chalk.yellow(' 2. Copy .env.example to .env and add your PRIVATE_KEY'));
|
|
58
|
+
console.log(chalk.cyan(' npx @flarestudio/fcc-workbench deploy # deploy contract'));
|
|
59
|
+
console.log(chalk.cyan(' npx @flarestudio/fcc-workbench register # register extension'));
|
|
60
|
+
console.log(chalk.cyan(' npx @flarestudio/fcc-workbench start # start TEE stack'));
|
|
57
61
|
}
|
|
58
62
|
catch (err) {
|
|
59
63
|
console.error(chalk.red(`\n✘ Failed to scaffold agent:`), err.message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/modules/scaffold.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,QAAgB;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;IAElD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,IAAI,kBAAkB,CAAC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,IAAI,KAAK,CAAC,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QACvD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/modules/scaffold.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
export declare const DOCKER_COMPOSE: string;
|
|
2
|
+
export declare const PROXY_DOCKERFILE: string;
|
|
3
|
+
export declare const PROXY_CONFIG: string;
|
|
2
4
|
export declare const DOCKERFILE: string;
|
|
3
5
|
export declare const TS_APP: string;
|
|
4
6
|
export declare const TS_PACKAGE: (name: string) => string;
|
package/dist/templates/index.js
CHANGED
|
@@ -1,30 +1,55 @@
|
|
|
1
1
|
export const DOCKER_COMPOSE = [
|
|
2
|
-
"version: '3.8'",
|
|
3
2
|
"services:",
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
" networks:",
|
|
8
|
-
" - flare-fcc",
|
|
9
|
-
" environment:",
|
|
10
|
-
" - MODE=1",
|
|
11
|
-
" - CONFIG_PORT=5500",
|
|
12
|
-
" - SIGN_PORT=8882",
|
|
13
|
-
" - EXTENSION_PORT=8883",
|
|
3
|
+
" redis:",
|
|
4
|
+
" image: redis:7-alpine",
|
|
5
|
+
" command: redis-server --save \"\" --appendonly no",
|
|
14
6
|
" ports:",
|
|
15
|
-
" - \"
|
|
16
|
-
"
|
|
17
|
-
" -
|
|
7
|
+
" - \"127.0.0.1:6383:6379\"",
|
|
8
|
+
" tmpfs:",
|
|
9
|
+
" - /data",
|
|
10
|
+
" healthcheck:",
|
|
11
|
+
" test: [\"CMD\", \"redis-cli\", \"ping\"]",
|
|
12
|
+
" interval: 5s",
|
|
13
|
+
" timeout: 3s",
|
|
14
|
+
" retries: 5",
|
|
18
15
|
"",
|
|
19
16
|
" ext-proxy:",
|
|
20
|
-
"
|
|
17
|
+
" build:",
|
|
18
|
+
" context: ./proxy",
|
|
19
|
+
" dockerfile: Dockerfile",
|
|
20
|
+
" volumes:",
|
|
21
|
+
" - ./config/proxy/extension_proxy.toml:/app/config/config.toml:ro",
|
|
22
|
+
" environment:",
|
|
23
|
+
" - PRIVATE_KEY=${PRIVATE_KEY}",
|
|
21
24
|
" ports:",
|
|
22
|
-
" - \"
|
|
25
|
+
" - \"0.0.0.0:6675:6663\"",
|
|
26
|
+
" - \"0.0.0.0:6676:6664\"",
|
|
27
|
+
" depends_on:",
|
|
28
|
+
" redis:",
|
|
29
|
+
" condition: service_healthy",
|
|
23
30
|
" networks:",
|
|
24
31
|
" - flare-fcc",
|
|
32
|
+
" healthcheck:",
|
|
33
|
+
" test: [\"CMD\", \"wget\", \"-q\", \"-O\", \"/dev/null\", \"http://localhost:6663/healthy\"]",
|
|
34
|
+
" interval: 5s",
|
|
35
|
+
" timeout: 5s",
|
|
36
|
+
" retries: 30",
|
|
37
|
+
" start_period: 10s",
|
|
25
38
|
"",
|
|
26
|
-
"
|
|
27
|
-
"
|
|
39
|
+
" extension-tee:",
|
|
40
|
+
" build:",
|
|
41
|
+
" context: ./extension",
|
|
42
|
+
" dockerfile: Dockerfile",
|
|
43
|
+
" env_file:",
|
|
44
|
+
" - .env",
|
|
45
|
+
" environment:",
|
|
46
|
+
" - EXTENSION_ID=${EXTENSION_ID}",
|
|
47
|
+
" - PROXY_URL=http://ext-proxy:6663",
|
|
48
|
+
" - SIGN_PORT=8882",
|
|
49
|
+
" - EXTENSION_PORT=8883",
|
|
50
|
+
" depends_on:",
|
|
51
|
+
" ext-proxy:",
|
|
52
|
+
" condition: service_healthy",
|
|
28
53
|
" networks:",
|
|
29
54
|
" - flare-fcc",
|
|
30
55
|
"",
|
|
@@ -32,6 +57,64 @@ export const DOCKER_COMPOSE = [
|
|
|
32
57
|
" flare-fcc:",
|
|
33
58
|
" driver: bridge"
|
|
34
59
|
].join("\n");
|
|
60
|
+
export const PROXY_DOCKERFILE = [
|
|
61
|
+
"ARG TEE_PROXY_VERSION=main",
|
|
62
|
+
"ARG TEE_NODE_VERSION=main",
|
|
63
|
+
"",
|
|
64
|
+
"FROM golang:1.25.1-alpine AS builder",
|
|
65
|
+
"RUN apk add --no-cache git",
|
|
66
|
+
"ARG TEE_PROXY_VERSION",
|
|
67
|
+
"ARG TEE_NODE_VERSION",
|
|
68
|
+
"WORKDIR /app",
|
|
69
|
+
"RUN git clone --depth 1 --branch ${TEE_PROXY_VERSION} https://github.com/flare-foundation/tee-proxy.git",
|
|
70
|
+
"RUN git clone --depth 1 --branch ${TEE_NODE_VERSION} https://github.com/flare-foundation/tee-node.git",
|
|
71
|
+
"WORKDIR /app/tee-proxy",
|
|
72
|
+
"RUN go mod download",
|
|
73
|
+
"RUN CGO_ENABLED=0 GOOS=linux go build -a -o main ./cmd/proxy",
|
|
74
|
+
"",
|
|
75
|
+
"FROM alpine:latest",
|
|
76
|
+
"WORKDIR /app",
|
|
77
|
+
"COPY --from=builder /app/tee-proxy/main .",
|
|
78
|
+
"COPY --from=builder /app/tee-proxy/config.example.toml ./config/config.toml",
|
|
79
|
+
"RUN addgroup -g 1001 -S appgroup && adduser -u 1001 -S appuser -G appgroup",
|
|
80
|
+
"RUN chown -R appuser:appgroup /app",
|
|
81
|
+
"USER appuser",
|
|
82
|
+
"EXPOSE 6661",
|
|
83
|
+
"EXPOSE 6662",
|
|
84
|
+
"CMD [\"./main\"]"
|
|
85
|
+
].join("\n");
|
|
86
|
+
export const PROXY_CONFIG = [
|
|
87
|
+
"redis_port = \"redis:6379\"",
|
|
88
|
+
"chain_id = 114",
|
|
89
|
+
"private_key_variable = \"PRIVATE_KEY\"",
|
|
90
|
+
"initial_signing_policy_offset = 3",
|
|
91
|
+
"signing_policy_fetch_interval = \"20s\"",
|
|
92
|
+
"",
|
|
93
|
+
"[db]",
|
|
94
|
+
"host = \"35.233.36.8\"",
|
|
95
|
+
"port = 3306",
|
|
96
|
+
"database = \"indexer\"",
|
|
97
|
+
"username = \"<your-db-username>\"",
|
|
98
|
+
"password = \"<your-db-password>\"",
|
|
99
|
+
"log_queries = false",
|
|
100
|
+
"",
|
|
101
|
+
"[addresses]",
|
|
102
|
+
"flare_systems_manager = \"0xA90Db6D10F856799b10ef2A77EBCbF460aC71e52\"",
|
|
103
|
+
"relay = \"0xa10B672D1c62e5457b17af63d4302add6A99d7dE\"",
|
|
104
|
+
"voter_registry = \"0x6a0AF07b7972177B176d3D422555cbc98DfDe914\"",
|
|
105
|
+
"",
|
|
106
|
+
"[ports]",
|
|
107
|
+
"internal = \"6663\"",
|
|
108
|
+
"external = \"6664\"",
|
|
109
|
+
"",
|
|
110
|
+
"[info_timing]",
|
|
111
|
+
"cycle_internal = \"100s\"",
|
|
112
|
+
"cycle_queue_response_wait = \"2s\"",
|
|
113
|
+
"",
|
|
114
|
+
"[voting]",
|
|
115
|
+
"proposal_expiration = \"120s\"",
|
|
116
|
+
"max_pending_request = 10000"
|
|
117
|
+
].join("\n");
|
|
35
118
|
export const DOCKERFILE = [
|
|
36
119
|
"ARG TEE_NODE_VERSION=main",
|
|
37
120
|
"",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/templates/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED