@sentio/sdk 1.35.1-rc.2 → 1.36.0-rc.1

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.
Files changed (70) hide show
  1. package/lib/aptos-codegen/codegen.d.ts +1 -0
  2. package/lib/aptos-codegen/codegen.js +9 -1
  3. package/lib/aptos-codegen/codegen.js.map +1 -1
  4. package/lib/solana-codegen/codegen.d.ts +1 -0
  5. package/lib/{cli/build.js → solana-codegen/codegen.js} +3 -92
  6. package/lib/solana-codegen/codegen.js.map +1 -0
  7. package/lib/test-abi-code-gen.js +4 -3
  8. package/lib/test-abi-code-gen.js.map +1 -1
  9. package/package.json +3 -11
  10. package/src/aptos-codegen/codegen.ts +8 -0
  11. package/src/{cli/build.ts → solana-codegen/codegen.ts} +1 -113
  12. package/src/test-abi-code-gen.ts +2 -1
  13. package/lib/cli/build.d.ts +0 -4
  14. package/lib/cli/build.js.map +0 -1
  15. package/lib/cli/cli.d.ts +0 -2
  16. package/lib/cli/cli.js +0 -186
  17. package/lib/cli/cli.js.map +0 -1
  18. package/lib/cli/commands/login-server.d.ts +0 -7
  19. package/lib/cli/commands/login-server.js +0 -133
  20. package/lib/cli/commands/login-server.js.map +0 -1
  21. package/lib/cli/commands/run-create.d.ts +0 -1
  22. package/lib/cli/commands/run-create.js +0 -111
  23. package/lib/cli/commands/run-create.js.map +0 -1
  24. package/lib/cli/commands/run-login.d.ts +0 -1
  25. package/lib/cli/commands/run-login.js +0 -136
  26. package/lib/cli/commands/run-login.js.map +0 -1
  27. package/lib/cli/commands/run-version.d.ts +0 -1
  28. package/lib/cli/commands/run-version.js +0 -39
  29. package/lib/cli/commands/run-version.js.map +0 -1
  30. package/lib/cli/config.d.ts +0 -14
  31. package/lib/cli/config.js +0 -64
  32. package/lib/cli/config.js.map +0 -1
  33. package/lib/cli/key.d.ts +0 -2
  34. package/lib/cli/key.js +0 -44
  35. package/lib/cli/key.js.map +0 -1
  36. package/lib/cli/upload.d.ts +0 -2
  37. package/lib/cli/upload.js +0 -189
  38. package/lib/cli/upload.js.map +0 -1
  39. package/lib/cli/utils.d.ts +0 -1
  40. package/lib/cli/utils.js +0 -16
  41. package/lib/cli/utils.js.map +0 -1
  42. package/lib/cli/webpack.config.js +0 -47
  43. package/src/cli/cli.ts +0 -184
  44. package/src/cli/commands/login-server.ts +0 -119
  45. package/src/cli/commands/run-create.ts +0 -115
  46. package/src/cli/commands/run-login.ts +0 -111
  47. package/src/cli/commands/run-version.ts +0 -32
  48. package/src/cli/config.ts +0 -72
  49. package/src/cli/key.ts +0 -43
  50. package/src/cli/upload.ts +0 -214
  51. package/src/cli/utils.ts +0 -10
  52. package/src/cli/webpack.config.js +0 -47
  53. package/templates/aptos/abis/aptos/souffle.json +0 -389
  54. package/templates/aptos/jest.config.js +0 -7
  55. package/templates/aptos/package.json +0 -20
  56. package/templates/aptos/sentio.yaml +0 -1
  57. package/templates/aptos/src/processor.ts +0 -13
  58. package/templates/aptos/tsconfig.json +0 -20
  59. package/templates/evm/abis/evm/x2y2.json +0 -296
  60. package/templates/evm/jest.config.js +0 -7
  61. package/templates/evm/package.json +0 -20
  62. package/templates/evm/sentio.yaml +0 -3
  63. package/templates/evm/src/processor.ts +0 -29
  64. package/templates/evm/tsconfig.json +0 -20
  65. package/templates/raw/jest.config.js +0 -7
  66. package/templates/raw/package.json +0 -20
  67. package/templates/raw/sentio.yaml +0 -3
  68. package/templates/raw/src/processor.ts +0 -0
  69. package/templates/raw/tsconfig.json +0 -20
  70. package/templates/raw/yarn.lock +0 -4095
package/lib/cli/cli.js DELETED
@@ -1,186 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __importDefault = (this && this.__importDefault) || function (mod) {
4
- return (mod && mod.__esModule) ? mod : { "default": mod };
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- const command_line_args_1 = __importDefault(require("command-line-args"));
8
- const command_line_usage_1 = __importDefault(require("command-line-usage"));
9
- const fs_1 = __importDefault(require("fs"));
10
- const path_1 = __importDefault(require("path"));
11
- const js_yaml_1 = __importDefault(require("js-yaml"));
12
- const config_1 = require("./config");
13
- const upload_1 = require("./upload");
14
- const chalk_1 = __importDefault(require("chalk"));
15
- const build_1 = require("./build");
16
- const run_create_1 = require("./commands/run-create");
17
- const run_version_1 = require("./commands/run-version");
18
- const run_login_1 = require("./commands/run-login");
19
- const mainDefinitions = [{ name: 'command', defaultOption: true }];
20
- const mainOptions = (0, command_line_args_1.default)(mainDefinitions, {
21
- stopAtFirstUnknown: true,
22
- });
23
- const argv = mainOptions._unknown || [];
24
- if (!mainOptions.command) {
25
- usage();
26
- }
27
- if (mainOptions.command === 'login') {
28
- (0, run_login_1.runLogin)(argv);
29
- }
30
- else if (mainOptions.command === 'create') {
31
- (0, run_create_1.runCreate)(argv);
32
- }
33
- else if (mainOptions.command === 'version') {
34
- (0, run_version_1.runVersion)(argv);
35
- }
36
- else {
37
- // For all the commands that need read project configs
38
- // TODO move them to their own modules
39
- // Process configs
40
- let processorConfig = { host: '', project: '', build: true, debug: false };
41
- // Fist step, read from project yaml file
42
- try {
43
- console.log(chalk_1.default.blue('Loading Process config'));
44
- // TODO correctly located sentio.yaml
45
- const pwd = process.cwd();
46
- const packageJson = path_1.default.join(pwd, 'package.json');
47
- if (!fs_1.default.existsSync(packageJson)) {
48
- console.error('package.json not found, please run this command in the root of your project');
49
- process.exit(1);
50
- }
51
- const yamlPath = path_1.default.join(pwd, 'sentio.yaml');
52
- if (!fs_1.default.existsSync(yamlPath)) {
53
- console.error('sentio.yaml not found, please create one according to: TODO docs');
54
- process.exit(1);
55
- }
56
- processorConfig = js_yaml_1.default.load(fs_1.default.readFileSync('sentio.yaml', 'utf8'));
57
- if (!processorConfig.project === undefined) {
58
- console.error('Config yaml must have contain a valid project identifier');
59
- process.exit(1);
60
- }
61
- if (processorConfig.build === undefined) {
62
- processorConfig.build = true;
63
- }
64
- if (!processorConfig.host) {
65
- processorConfig.host = 'prod';
66
- }
67
- if (processorConfig.debug === undefined) {
68
- processorConfig.debug = false;
69
- }
70
- // if (!processorConfig.source) {
71
- // processorConfig.source = 'src/processor.ts'
72
- // }
73
- // if (!processorConfig.targets) {
74
- // console.warn('targets is not defined, use EVM as the default target')
75
- // processorConfig.targets = []
76
- // }
77
- // if (processorConfig.targets.length === 0) {
78
- // // By default evm
79
- // processorConfig.targets.push({ chain: EVM })
80
- // }
81
- }
82
- catch (e) {
83
- console.error(e);
84
- process.exit(1);
85
- }
86
- if (mainOptions.command === 'upload') {
87
- const optionDefinitions = [
88
- {
89
- name: 'help',
90
- alias: 'h',
91
- type: Boolean,
92
- description: 'Display this usage guide.',
93
- },
94
- {
95
- name: 'api-key',
96
- type: String,
97
- description: '(Optional) Manually provide API key rather than use saved credential',
98
- },
99
- {
100
- name: 'host',
101
- description: '(Optional) Override Sentio Host name',
102
- type: String,
103
- },
104
- {
105
- name: 'owner',
106
- description: '(Optional) Override Project owner',
107
- type: String,
108
- },
109
- {
110
- name: 'nobuild',
111
- description: '(Optional) Skip build & pack file before uploading, default false',
112
- type: Boolean,
113
- },
114
- {
115
- name: 'debug',
116
- description: '(Optional) Set driver logging level to debug',
117
- type: Boolean,
118
- },
119
- ];
120
- const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
121
- if (options.help) {
122
- const usage = (0, command_line_usage_1.default)([
123
- {
124
- header: 'Sentio upload',
125
- content: 'sentio upload',
126
- },
127
- {
128
- header: 'Options',
129
- optionList: optionDefinitions,
130
- },
131
- ]);
132
- console.log(usage);
133
- }
134
- else {
135
- if (options.host) {
136
- processorConfig.host = options.host;
137
- }
138
- if (options.nobuild) {
139
- processorConfig.build = false;
140
- }
141
- if (options.debug) {
142
- processorConfig.debug = true;
143
- }
144
- (0, config_1.finalizeHost)(processorConfig);
145
- (0, config_1.FinalizeProjectName)(processorConfig, options.owner);
146
- console.log(processorConfig);
147
- let apiOverride = undefined;
148
- if (options['api-key']) {
149
- apiOverride = options['api-key'];
150
- }
151
- (0, upload_1.uploadFile)(processorConfig, apiOverride);
152
- }
153
- }
154
- else if (mainOptions.command === 'build') {
155
- (0, build_1.buildProcessor)(false);
156
- }
157
- else if (mainOptions.command === 'gen') {
158
- (0, build_1.buildProcessor)(true);
159
- }
160
- else {
161
- usage();
162
- }
163
- }
164
- function usage() {
165
- const usage = (0, command_line_usage_1.default)([
166
- {
167
- header: 'Sentio',
168
- content: 'Login & Manage your project files to Sentio.',
169
- },
170
- {
171
- header: 'Usage',
172
- content: [
173
- 'sentio <command> --help\t\tshow detail usage of specific command',
174
- 'sentio login\t\t\t\tlogin to sentio',
175
- 'sentio create\t\t\t\tcreate a template project',
176
- 'sentio upload\t\t\t\tbuild and upload processor to sentio',
177
- 'sentio gen\t\t\t\tgenerate abi',
178
- 'sentio build\t\t\t\tgenerate abi and build',
179
- 'sentio version\t\t\tcurrent cli version',
180
- ],
181
- },
182
- ]);
183
- console.log(usage);
184
- process.exit(1);
185
- }
186
- //# sourceMappingURL=cli.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\n\nimport commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport fs from 'fs'\nimport path from 'path'\n\nimport yaml from 'js-yaml'\nimport { finalizeHost, FinalizeProjectName, SentioProjectConfig } from './config'\nimport { uploadFile } from './upload'\nimport chalk from 'chalk'\nimport { buildProcessor } from './build'\nimport { runCreate } from './commands/run-create'\nimport { runVersion } from './commands/run-version'\nimport { runLogin } from './commands/run-login'\n\nconst mainDefinitions = [{ name: 'command', defaultOption: true }]\nconst mainOptions = commandLineArgs(mainDefinitions, {\n stopAtFirstUnknown: true,\n})\nconst argv = mainOptions._unknown || []\n\nif (!mainOptions.command) {\n usage()\n}\n\nif (mainOptions.command === 'login') {\n runLogin(argv)\n} else if (mainOptions.command === 'create') {\n runCreate(argv)\n} else if (mainOptions.command === 'version') {\n runVersion(argv)\n} else {\n // For all the commands that need read project configs\n // TODO move them to their own modules\n\n // Process configs\n let processorConfig: SentioProjectConfig = { host: '', project: '', build: true, debug: false }\n // Fist step, read from project yaml file\n try {\n console.log(chalk.blue('Loading Process config'))\n // TODO correctly located sentio.yaml\n const pwd = process.cwd()\n const packageJson = path.join(pwd, 'package.json')\n if (!fs.existsSync(packageJson)) {\n console.error('package.json not found, please run this command in the root of your project')\n process.exit(1)\n }\n\n const yamlPath = path.join(pwd, 'sentio.yaml')\n if (!fs.existsSync(yamlPath)) {\n console.error('sentio.yaml not found, please create one according to: TODO docs')\n process.exit(1)\n }\n\n processorConfig = yaml.load(fs.readFileSync('sentio.yaml', 'utf8')) as SentioProjectConfig\n if (!processorConfig.project === undefined) {\n console.error('Config yaml must have contain a valid project identifier')\n process.exit(1)\n }\n if (processorConfig.build === undefined) {\n processorConfig.build = true\n }\n if (!processorConfig.host) {\n processorConfig.host = 'prod'\n }\n if (processorConfig.debug === undefined) {\n processorConfig.debug = false\n }\n\n // if (!processorConfig.source) {\n // processorConfig.source = 'src/processor.ts'\n // }\n // if (!processorConfig.targets) {\n // console.warn('targets is not defined, use EVM as the default target')\n // processorConfig.targets = []\n // }\n // if (processorConfig.targets.length === 0) {\n // // By default evm\n // processorConfig.targets.push({ chain: EVM })\n // }\n } catch (e) {\n console.error(e)\n process.exit(1)\n }\n\n if (mainOptions.command === 'upload') {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'api-key',\n type: String,\n description: '(Optional) Manually provide API key rather than use saved credential',\n },\n {\n name: 'host',\n description: '(Optional) Override Sentio Host name',\n type: String,\n },\n {\n name: 'owner',\n description: '(Optional) Override Project owner',\n type: String,\n },\n {\n name: 'nobuild',\n description: '(Optional) Skip build & pack file before uploading, default false',\n type: Boolean,\n },\n {\n name: 'debug',\n description: '(Optional) Set driver logging level to debug',\n type: Boolean,\n },\n ]\n const options = commandLineArgs(optionDefinitions, { argv })\n if (options.help) {\n const usage = commandLineUsage([\n {\n header: 'Sentio upload',\n content: 'sentio upload',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n console.log(usage)\n } else {\n if (options.host) {\n processorConfig.host = options.host\n }\n if (options.nobuild) {\n processorConfig.build = false\n }\n if (options.debug) {\n processorConfig.debug = true\n }\n finalizeHost(processorConfig)\n FinalizeProjectName(processorConfig, options.owner)\n console.log(processorConfig)\n\n let apiOverride = undefined\n if (options['api-key']) {\n apiOverride = options['api-key']\n }\n uploadFile(processorConfig, apiOverride)\n }\n } else if (mainOptions.command === 'build') {\n buildProcessor(false)\n } else if (mainOptions.command === 'gen') {\n buildProcessor(true)\n } else {\n usage()\n }\n}\n\nfunction usage() {\n const usage = commandLineUsage([\n {\n header: 'Sentio',\n content: 'Login & Manage your project files to Sentio.',\n },\n {\n header: 'Usage',\n content: [\n 'sentio <command> --help\\t\\tshow detail usage of specific command',\n 'sentio login\\t\\t\\t\\tlogin to sentio',\n 'sentio create\\t\\t\\t\\tcreate a template project',\n 'sentio upload\\t\\t\\t\\tbuild and upload processor to sentio',\n 'sentio gen\\t\\t\\t\\tgenerate abi',\n 'sentio build\\t\\t\\t\\tgenerate abi and build',\n 'sentio version\\t\\t\\tcurrent cli version',\n ],\n },\n ])\n console.log(usage)\n process.exit(1)\n}\n"]}
@@ -1,7 +0,0 @@
1
- interface AuthParams {
2
- serverPort: number;
3
- sentioHost: string;
4
- codeVerifier: string;
5
- }
6
- export declare function startServer(params: AuthParams): void;
7
- export {};
@@ -1,133 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.startServer = void 0;
30
- const express_1 = __importDefault(require("express"));
31
- const config_1 = require("../config");
32
- const url_1 = __importStar(require("url"));
33
- const node_fetch_1 = __importDefault(require("node-fetch"));
34
- const utils_1 = require("../utils");
35
- const key_1 = require("../key");
36
- const chalk_1 = __importDefault(require("chalk"));
37
- const os_1 = __importDefault(require("os"));
38
- const crypto = __importStar(require("crypto"));
39
- const app = (0, express_1.default)();
40
- let server;
41
- let authParams;
42
- function startServer(params) {
43
- authParams = params;
44
- server = app.listen(params.serverPort);
45
- }
46
- exports.startServer = startServer;
47
- app.get('/callback', async (req, res) => {
48
- res.end('login success, please go back to CLI to continue');
49
- const host = (0, config_1.getFinalizedHost)(authParams.sentioHost);
50
- const code = req.query.code;
51
- if (!code || code.length == 0) {
52
- return;
53
- }
54
- // exchange token
55
- const tokenResRaw = await getToken(host, code);
56
- if (!tokenResRaw.ok) {
57
- console.error(chalk_1.default.red('request token error, code:', tokenResRaw.status, tokenResRaw.statusText));
58
- return;
59
- }
60
- const tokenRes = await tokenResRaw.json();
61
- const accessToken = tokenRes['access_token'];
62
- // check if the account is ready
63
- const userResRaw = await getUser(host, accessToken);
64
- if (!userResRaw.ok) {
65
- if (userResRaw.status == 401) {
66
- console.error(chalk_1.default.red('please sign up on sentio first'));
67
- }
68
- else {
69
- console.error(chalk_1.default.red('get user error, code:', userResRaw.status, userResRaw.statusText));
70
- }
71
- return;
72
- }
73
- const userRes = await userResRaw.json();
74
- if (!userRes.emailVerified) {
75
- console.error(chalk_1.default.red('please verify your email first'));
76
- return;
77
- }
78
- // create API key
79
- const apiKeyName = `${os_1.default.hostname()}-${crypto.randomBytes(4).toString('hex')}`;
80
- const createApiKeyResRaw = await createApiKey(host, apiKeyName, 'sdk_generated', accessToken);
81
- if (!createApiKeyResRaw.ok) {
82
- console.error(chalk_1.default.red('create api key error, code:', createApiKeyResRaw.status, createApiKeyResRaw.statusText));
83
- return;
84
- }
85
- const createApiKeyRes = await createApiKeyResRaw.json();
86
- const apiKey = createApiKeyRes['key'];
87
- (0, key_1.WriteKey)(host, apiKey);
88
- console.log(chalk_1.default.green('login success, new API key: ' + apiKey));
89
- server.close();
90
- });
91
- async function getToken(host, code) {
92
- const authConf = (0, config_1.getAuthConfig)(host);
93
- const params = new url_1.default.URLSearchParams({
94
- grant_type: 'authorization_code',
95
- client_id: authConf.clientId,
96
- code_verifier: authParams.codeVerifier,
97
- code: code,
98
- redirect_uri: `http://localhost:${authParams.serverPort}/callback`,
99
- });
100
- return (0, node_fetch_1.default)(`${authConf.domain}/oauth/token`, {
101
- method: 'POST',
102
- headers: {
103
- 'Content-Type': 'application/x-www-form-urlencoded',
104
- },
105
- body: params.toString(),
106
- });
107
- }
108
- async function createApiKey(host, name, source, accessToken) {
109
- const createApiKeyUrl = new url_1.URL('/api/v1/keys', host);
110
- return (0, node_fetch_1.default)(createApiKeyUrl, {
111
- method: 'POST',
112
- headers: {
113
- Authorization: 'Bearer ' + accessToken,
114
- version: (0, utils_1.getCliVersion)(),
115
- },
116
- body: JSON.stringify({
117
- name: name,
118
- scopes: ['write:project'],
119
- source: source,
120
- }),
121
- });
122
- }
123
- async function getUser(host, accessToken) {
124
- const getUserUrl = new url_1.URL('/api/v1/users', host);
125
- return (0, node_fetch_1.default)(getUserUrl, {
126
- method: 'GET',
127
- headers: {
128
- Authorization: 'Bearer ' + accessToken,
129
- version: (0, utils_1.getCliVersion)(),
130
- },
131
- });
132
- }
133
- //# sourceMappingURL=login-server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"login-server.js","sourceRoot":"","sources":["../../../src/cli/commands/login-server.ts"],"names":[],"mappings":"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","sourcesContent":["import express from 'express'\nimport { getAuthConfig, getFinalizedHost } from '../config'\nimport url, { URL } from 'url'\nimport fetch from 'node-fetch'\nimport { getCliVersion } from '../utils'\nimport { WriteKey } from '../key'\nimport chalk from 'chalk'\nimport http from 'http'\nimport os from 'os'\nimport * as crypto from 'crypto'\n\ninterface AuthParams {\n serverPort: number\n sentioHost: string\n codeVerifier: string\n}\n\nconst app = express()\n\nlet server: http.Server\nlet authParams: AuthParams\n\nexport function startServer(params: AuthParams) {\n authParams = params\n server = app.listen(params.serverPort)\n}\n\napp.get('/callback', async (req, res) => {\n res.end('login success, please go back to CLI to continue')\n const host = getFinalizedHost(authParams.sentioHost)\n const code = req.query.code\n if (!code || (code as string).length == 0) {\n return\n }\n\n // exchange token\n const tokenResRaw = await getToken(host, code as string)\n if (!tokenResRaw.ok) {\n console.error(chalk.red('request token error, code:', tokenResRaw.status, tokenResRaw.statusText))\n return\n }\n const tokenRes = await tokenResRaw.json()\n const accessToken = tokenRes['access_token']\n\n // check if the account is ready\n const userResRaw = await getUser(host, accessToken)\n if (!userResRaw.ok) {\n if (userResRaw.status == 401) {\n console.error(chalk.red('please sign up on sentio first'))\n } else {\n console.error(chalk.red('get user error, code:', userResRaw.status, userResRaw.statusText))\n }\n return\n }\n const userRes = await userResRaw.json()\n if (!userRes.emailVerified) {\n console.error(chalk.red('please verify your email first'))\n return\n }\n\n // create API key\n const apiKeyName = `${os.hostname()}-${crypto.randomBytes(4).toString('hex')}`\n const createApiKeyResRaw = await createApiKey(host, apiKeyName, 'sdk_generated', accessToken)\n if (!createApiKeyResRaw.ok) {\n console.error(chalk.red('create api key error, code:', createApiKeyResRaw.status, createApiKeyResRaw.statusText))\n return\n }\n const createApiKeyRes = await createApiKeyResRaw.json()\n const apiKey = createApiKeyRes['key']\n WriteKey(host, apiKey)\n console.log(chalk.green('login success, new API key: ' + apiKey))\n\n server.close()\n})\n\nasync function getToken(host: string, code: string) {\n const authConf = getAuthConfig(host)\n const params = new url.URLSearchParams({\n grant_type: 'authorization_code',\n client_id: authConf.clientId,\n code_verifier: authParams.codeVerifier,\n code: code,\n redirect_uri: `http://localhost:${authParams.serverPort}/callback`,\n })\n return fetch(`${authConf.domain}/oauth/token`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: params.toString(),\n })\n}\n\nasync function createApiKey(host: string, name: string, source: string, accessToken: string) {\n const createApiKeyUrl = new URL('/api/v1/keys', host)\n return fetch(createApiKeyUrl, {\n method: 'POST',\n headers: {\n Authorization: 'Bearer ' + accessToken,\n version: getCliVersion(),\n },\n body: JSON.stringify({\n name: name,\n scopes: ['write:project'],\n source: source,\n }),\n })\n}\n\nasync function getUser(host: string, accessToken: string) {\n const getUserUrl = new URL('/api/v1/users', host)\n return fetch(getUserUrl, {\n method: 'GET',\n headers: {\n Authorization: 'Bearer ' + accessToken,\n version: getCliVersion(),\n },\n })\n}\n"]}
@@ -1 +0,0 @@
1
- export declare function runCreate(argv: string[]): void;
@@ -1,111 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.runCreate = void 0;
7
- const command_line_args_1 = __importDefault(require("command-line-args"));
8
- const command_line_usage_1 = __importDefault(require("command-line-usage"));
9
- const path_1 = __importDefault(require("path"));
10
- const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const chalk_1 = __importDefault(require("chalk"));
12
- const utils_1 = require("../utils");
13
- function runCreate(argv) {
14
- const optionDefinitions = [
15
- {
16
- name: 'help',
17
- alias: 'h',
18
- type: Boolean,
19
- description: 'Display this usage guide.',
20
- },
21
- {
22
- name: 'name',
23
- alias: 'n',
24
- defaultOption: true,
25
- type: String,
26
- description: 'Project name',
27
- },
28
- {
29
- name: 'directory',
30
- alias: 'd',
31
- description: '(Optional) The root direct new project will be created, default current working dir',
32
- type: String,
33
- },
34
- {
35
- name: 'chain-type',
36
- alias: 'c',
37
- description: 'The type of project you want to create, can be evm, aptos, raw (if you want to start from scratch and support multiple types of chains)',
38
- type: String,
39
- defaultValue: 'evm',
40
- },
41
- ];
42
- const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
43
- const usage = (0, command_line_usage_1.default)([
44
- {
45
- header: 'Create a template project',
46
- content: 'sentio create <name>',
47
- },
48
- {
49
- header: 'Options',
50
- optionList: optionDefinitions,
51
- },
52
- ]);
53
- if (options.help || !options.name) {
54
- console.log(usage);
55
- }
56
- else {
57
- const chainType = options['chain-type'].toLowerCase();
58
- switch (chainType) {
59
- case 'evm':
60
- break;
61
- case 'aptos':
62
- break;
63
- case 'raw':
64
- break;
65
- default:
66
- console.error(chalk_1.default.red('non supported chain-type for template creation, use --help for more information.'));
67
- console.log(usage);
68
- process.exit(1);
69
- }
70
- const templateFolder = path_1.default.resolve(__dirname, '../../../templates', chainType);
71
- const projectName = options.name || 'default';
72
- const rootDir = options.directory || process.cwd();
73
- const dstFolder = path_1.default.resolve(rootDir, projectName);
74
- if (fs_extra_1.default.existsSync(dstFolder)) {
75
- console.error(chalk_1.default.red("can't create project '" + projectName + "', directory already existed"));
76
- process.exit(1);
77
- }
78
- fs_extra_1.default.copySync(templateFolder, dstFolder, {
79
- filter: (src, _) => {
80
- // TODO read from .gitignore to be more reliable
81
- if (src.endsWith('types') ||
82
- src.endsWith('dist') ||
83
- src.endsWith('node_modules') ||
84
- src.endsWith('.lock') ||
85
- src.endsWith('dist')) {
86
- return false;
87
- }
88
- return true;
89
- },
90
- overwrite: false,
91
- });
92
- if (options.name) {
93
- const sentioYamlPath = path_1.default.resolve(dstFolder, 'sentio.yaml');
94
- fs_extra_1.default.writeFileSync(sentioYamlPath, 'project: ' + projectName + '\n', { flag: 'w+' });
95
- const packageJsonPath = path_1.default.resolve(dstFolder, 'package.json');
96
- const packageJson = JSON.parse(fs_extra_1.default.readFileSync(packageJsonPath, 'utf8'));
97
- let cliVersion = (0, utils_1.getCliVersion)();
98
- if (!cliVersion.startsWith('^')) {
99
- cliVersion = '^' + cliVersion;
100
- }
101
- packageJson.dependencies['@sentio/sdk'] = cliVersion;
102
- packageJson.name = projectName;
103
- // Don't add directly to avoid deps issue
104
- packageJson.scripts.postinstall = 'sentio gen';
105
- fs_extra_1.default.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
106
- }
107
- console.log(chalk_1.default.green("successfully create project '" + projectName + "'"));
108
- }
109
- }
110
- exports.runCreate = runCreate;
111
- //# sourceMappingURL=run-create.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-create.js","sourceRoot":"","sources":["../../../src/cli/commands/run-create.ts"],"names":[],"mappings":"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","sourcesContent":["import commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport path from 'path'\nimport fs from 'fs-extra'\nimport chalk from 'chalk'\nimport { getCliVersion } from '../utils'\n\nexport function runCreate(argv: string[]) {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'name',\n alias: 'n',\n defaultOption: true,\n type: String,\n description: 'Project name',\n },\n {\n name: 'directory',\n alias: 'd',\n description: '(Optional) The root direct new project will be created, default current working dir',\n type: String,\n },\n {\n name: 'chain-type',\n alias: 'c',\n description:\n 'The type of project you want to create, can be evm, aptos, raw (if you want to start from scratch and support multiple types of chains)',\n type: String,\n defaultValue: 'evm',\n },\n ]\n\n const options = commandLineArgs(optionDefinitions, { argv })\n const usage = commandLineUsage([\n {\n header: 'Create a template project',\n content: 'sentio create <name>',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n\n if (options.help || !options.name) {\n console.log(usage)\n } else {\n const chainType: string = options['chain-type'].toLowerCase()\n switch (chainType) {\n case 'evm':\n break\n case 'aptos':\n break\n case 'raw':\n break\n default:\n console.error(chalk.red('non supported chain-type for template creation, use --help for more information.'))\n console.log(usage)\n process.exit(1)\n }\n const templateFolder = path.resolve(__dirname, '../../../templates', chainType)\n const projectName = options.name || 'default'\n\n const rootDir = options.directory || process.cwd()\n const dstFolder = path.resolve(rootDir, projectName)\n if (fs.existsSync(dstFolder)) {\n console.error(chalk.red(\"can't create project '\" + projectName + \"', directory already existed\"))\n process.exit(1)\n }\n\n fs.copySync(templateFolder, dstFolder, {\n filter: (src, _) => {\n // TODO read from .gitignore to be more reliable\n if (\n src.endsWith('types') ||\n src.endsWith('dist') ||\n src.endsWith('node_modules') ||\n src.endsWith('.lock') ||\n src.endsWith('dist')\n ) {\n return false\n }\n return true\n },\n overwrite: false,\n })\n if (options.name) {\n const sentioYamlPath = path.resolve(dstFolder, 'sentio.yaml')\n fs.writeFileSync(sentioYamlPath, 'project: ' + projectName + '\\n', { flag: 'w+' })\n\n const packageJsonPath = path.resolve(dstFolder, 'package.json')\n const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'))\n\n let cliVersion = getCliVersion()\n if (!cliVersion.startsWith('^')) {\n cliVersion = '^' + cliVersion\n }\n\n packageJson.dependencies['@sentio/sdk'] = cliVersion\n packageJson.name = projectName\n\n // Don't add directly to avoid deps issue\n packageJson.scripts.postinstall = 'sentio gen'\n\n fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2))\n }\n console.log(chalk.green(\"successfully create project '\" + projectName + \"'\"))\n }\n}\n"]}
@@ -1 +0,0 @@
1
- export declare function runLogin(argv: string[]): void;
@@ -1,136 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.runLogin = void 0;
30
- const command_line_args_1 = __importDefault(require("command-line-args"));
31
- const command_line_usage_1 = __importDefault(require("command-line-usage"));
32
- const config_1 = require("../config");
33
- const login_server_1 = require("./login-server");
34
- const url_1 = __importStar(require("url"));
35
- const crypto = __importStar(require("crypto"));
36
- const chalk_1 = __importDefault(require("chalk"));
37
- const key_1 = require("../key");
38
- const node_fetch_1 = __importDefault(require("node-fetch"));
39
- const open_1 = __importDefault(require("open"));
40
- const port = 20000;
41
- function runLogin(argv) {
42
- const optionDefinitions = [
43
- {
44
- name: 'help',
45
- alias: 'h',
46
- type: Boolean,
47
- description: 'Display this usage guide.',
48
- },
49
- {
50
- name: 'host',
51
- description: '(Optional) Override Sentio Host name',
52
- type: String,
53
- },
54
- {
55
- name: 'api-key',
56
- type: String,
57
- description: '(Optional) Your API key',
58
- },
59
- ];
60
- const options = (0, command_line_args_1.default)(optionDefinitions, { argv });
61
- const host = (0, config_1.getFinalizedHost)(options.host);
62
- if (options.help) {
63
- const usage = (0, command_line_usage_1.default)([
64
- {
65
- header: 'Login to Sentio',
66
- content: 'sentio login',
67
- },
68
- {
69
- header: 'Options',
70
- optionList: optionDefinitions,
71
- },
72
- ]);
73
- console.log(usage);
74
- }
75
- else if (options['api-key']) {
76
- console.log(chalk_1.default.blue('login to ' + host));
77
- const apiKey = options['api-key'];
78
- checkKey(host, apiKey).then((res) => {
79
- if (res.status == 200) {
80
- (0, key_1.WriteKey)(host, apiKey);
81
- console.log(chalk_1.default.green('login success'));
82
- }
83
- else {
84
- console.error(chalk_1.default.red('login failed, code:', res.status, res.statusText));
85
- }
86
- });
87
- }
88
- else {
89
- // https://auth0.com/docs/get-started/authentication-and-authorization-flow/call-your-api-using-the-authorization-code-flow-with-pkce
90
- const verifier = base64URLEncode(crypto.randomBytes(32));
91
- const challenge = base64URLEncode(sha256(verifier));
92
- const conf = (0, config_1.getAuthConfig)(host);
93
- if (conf.domain === '') {
94
- console.error(chalk_1.default.red('invalid host, try login with an API key if it is a dev env'));
95
- return;
96
- }
97
- const authURL = new url_1.URL(conf.domain + `/authorize?`);
98
- const params = new url_1.default.URLSearchParams({
99
- response_type: 'code',
100
- code_challenge: challenge,
101
- code_challenge_method: 'S256',
102
- client_id: conf.clientId,
103
- redirect_uri: `http://localhost:${port}/callback`,
104
- audience: conf.audience,
105
- prompt: 'login',
106
- });
107
- authURL.search = params.toString();
108
- console.log('Continue your authorization in the browser');
109
- (0, open_1.default)(authURL.toString()).catch((reason) => {
110
- console.error(chalk_1.default.red('Unable to open browser: ' + reason));
111
- console.error(chalk_1.default.red('Open this url in your browser: ' + authURL.toString()));
112
- });
113
- (0, login_server_1.startServer)({
114
- serverPort: port,
115
- sentioHost: options.host,
116
- codeVerifier: verifier,
117
- });
118
- }
119
- }
120
- exports.runLogin = runLogin;
121
- function base64URLEncode(str) {
122
- return str.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
123
- }
124
- function sha256(str) {
125
- return crypto.createHash('sha256').update(str).digest();
126
- }
127
- async function checkKey(host, apiKey) {
128
- const checkApiKeyUrl = new url_1.URL('/api/v1/processors/check_key', host);
129
- return (0, node_fetch_1.default)(checkApiKeyUrl, {
130
- method: 'GET',
131
- headers: {
132
- 'api-key': apiKey,
133
- },
134
- });
135
- }
136
- //# sourceMappingURL=run-login.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"run-login.js","sourceRoot":"","sources":["../../../src/cli/commands/run-login.ts"],"names":[],"mappings":"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","sourcesContent":["import commandLineArgs from 'command-line-args'\nimport commandLineUsage from 'command-line-usage'\nimport { getAuthConfig, getFinalizedHost } from '../config'\nimport { startServer } from './login-server'\nimport url, { URL } from 'url'\nimport * as crypto from 'crypto'\nimport chalk from 'chalk'\nimport { WriteKey } from '../key'\nimport fetch from 'node-fetch'\nimport open from 'open'\n\nconst port = 20000\n\nexport function runLogin(argv: string[]) {\n const optionDefinitions = [\n {\n name: 'help',\n alias: 'h',\n type: Boolean,\n description: 'Display this usage guide.',\n },\n {\n name: 'host',\n description: '(Optional) Override Sentio Host name',\n type: String,\n },\n {\n name: 'api-key',\n type: String,\n description: '(Optional) Your API key',\n },\n ]\n const options = commandLineArgs(optionDefinitions, { argv })\n\n const host = getFinalizedHost(options.host)\n if (options.help) {\n const usage = commandLineUsage([\n {\n header: 'Login to Sentio',\n content: 'sentio login',\n },\n {\n header: 'Options',\n optionList: optionDefinitions,\n },\n ])\n console.log(usage)\n } else if (options['api-key']) {\n console.log(chalk.blue('login to ' + host))\n const apiKey = options['api-key']\n checkKey(host, apiKey).then((res) => {\n if (res.status == 200) {\n WriteKey(host, apiKey)\n console.log(chalk.green('login success'))\n } else {\n console.error(chalk.red('login failed, code:', res.status, res.statusText))\n }\n })\n } else {\n // https://auth0.com/docs/get-started/authentication-and-authorization-flow/call-your-api-using-the-authorization-code-flow-with-pkce\n const verifier = base64URLEncode(crypto.randomBytes(32))\n const challenge = base64URLEncode(sha256(verifier))\n\n const conf = getAuthConfig(host)\n if (conf.domain === '') {\n console.error(chalk.red('invalid host, try login with an API key if it is a dev env'))\n return\n }\n const authURL = new URL(conf.domain + `/authorize?`)\n const params = new url.URLSearchParams({\n response_type: 'code',\n code_challenge: challenge,\n code_challenge_method: 'S256',\n client_id: conf.clientId,\n redirect_uri: `http://localhost:${port}/callback`,\n audience: conf.audience,\n prompt: 'login',\n })\n authURL.search = params.toString()\n\n console.log('Continue your authorization in the browser')\n open(authURL.toString()).catch((reason) => {\n console.error(chalk.red('Unable to open browser: ' + reason))\n console.error(chalk.red('Open this url in your browser: ' + authURL.toString()))\n })\n\n startServer({\n serverPort: port,\n sentioHost: options.host,\n codeVerifier: verifier,\n })\n }\n}\n\nfunction base64URLEncode(str: Buffer) {\n return str.toString('base64').replace(/\\+/g, '-').replace(/\\//g, '_').replace(/=/g, '')\n}\n\nfunction sha256(str: string) {\n return crypto.createHash('sha256').update(str).digest()\n}\n\nasync function checkKey(host: string, apiKey: string) {\n const checkApiKeyUrl = new URL('/api/v1/processors/check_key', host)\n return fetch(checkApiKeyUrl, {\n method: 'GET',\n headers: {\n 'api-key': apiKey,\n },\n })\n}\n"]}
@@ -1 +0,0 @@
1
- export declare function runVersion(argv: string[]): void;