@offckb/cli 0.1.1 → 0.1.2-canary-a369f24.0
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/account/ckb-miner-and-faucet.key +1 -0
- package/ckb/devnet/ckb.toml +3 -0
- package/dist/cfg/account.d.ts +55 -0
- package/dist/cfg/account.js +66 -0
- package/dist/cfg/const.d.ts +6 -1
- package/dist/cfg/const.js +7 -2
- package/dist/cli.js +69 -21
- package/dist/cmd/balance.d.ts +4 -0
- package/dist/cmd/balance.js +28 -0
- package/dist/cmd/clean.js +3 -2
- package/dist/cmd/create.d.ts +3 -0
- package/dist/cmd/create.js +56 -0
- package/dist/cmd/deploy.d.ts +6 -0
- package/dist/cmd/deploy.js +137 -0
- package/dist/cmd/deposit.d.ts +4 -0
- package/dist/cmd/deposit.js +95 -0
- package/dist/cmd/develop/build-account.d.ts +1 -0
- package/dist/cmd/develop/build-account.js +9 -0
- package/dist/cmd/{genkey.d.ts → develop/genkey.d.ts} +1 -0
- package/dist/cmd/{genkey.js → develop/genkey.js} +3 -2
- package/dist/cmd/{init-chain.js → develop/init-chain.js} +4 -4
- package/dist/cmd/{install.js → develop/install.js} +1 -1
- package/dist/cmd/develop/lumos-config.d.ts +4 -0
- package/dist/cmd/{build-lumos-config.js → develop/lumos-config.js} +25 -13
- package/dist/cmd/init.d.ts +3 -2
- package/dist/cmd/init.js +17 -10
- package/dist/cmd/inject-config.d.ts +4 -0
- package/dist/cmd/inject-config.js +99 -0
- package/dist/cmd/list-hashes.js +2 -2
- package/dist/cmd/node.js +2 -2
- package/dist/cmd/transfer.d.ts +5 -0
- package/dist/cmd/transfer.js +41 -0
- package/dist/cmd/update-config.d.ts +1 -0
- package/dist/cmd/update-config.js +19 -0
- package/dist/util/ckb.d.ts +77 -0
- package/dist/util/ckb.js +299 -0
- package/dist/util/config.d.ts +8 -0
- package/dist/util/config.js +127 -0
- package/dist/util/fs.d.ts +12 -0
- package/dist/{util.js → util/fs.js} +86 -65
- package/dist/util/git.d.ts +2 -0
- package/dist/util/git.js +85 -0
- package/dist/util/link.d.ts +1 -0
- package/dist/util/link.js +7 -0
- package/dist/util/template.d.ts +14 -0
- package/dist/util/template.js +43 -0
- package/dist/util/type.d.ts +8 -0
- package/dist/util/type.js +10 -0
- package/dist/util/validator.d.ts +4 -0
- package/dist/util/validator.js +59 -0
- package/package.json +1 -1
- package/templates/offckb.config.ts +193 -0
- package/dist/cmd/build-lumos-config.d.ts +0 -99
- package/dist/util.d.ts +0 -13
- /package/dist/cmd/{init-chain.d.ts → develop/init-chain.d.ts} +0 -0
- /package/dist/cmd/{install.d.ts → develop/install.d.ts} +0 -0
- /package/dist/{encoding.d.ts → util/encoding.d.ts} +0 -0
- /package/dist/{encoding.js → util/encoding.js} +0 -0
package/dist/util/git.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.gitCloneAndDownloadFolderSync = exports.isGitInstalled = void 0;
|
|
27
|
+
const child_process_1 = require("child_process");
|
|
28
|
+
const fs = __importStar(require("fs"));
|
|
29
|
+
const path = __importStar(require("path"));
|
|
30
|
+
const const_1 = require("../cfg/const");
|
|
31
|
+
const fs_1 = require("./fs");
|
|
32
|
+
function isGitInstalled() {
|
|
33
|
+
try {
|
|
34
|
+
(0, child_process_1.execSync)('git --version');
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
catch (error) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.isGitInstalled = isGitInstalled;
|
|
42
|
+
function gitCloneAndDownloadFolderSync(repoUrl, branch, subFolderName, targetPath) {
|
|
43
|
+
console.log('start cloning the dapp template..');
|
|
44
|
+
const tempFolder = path.resolve(const_1.dappTemplatePath, 'temp-clone-folder');
|
|
45
|
+
if (!isGitInstalled()) {
|
|
46
|
+
console.log('Git is not installed, please check https://git-scm.com/');
|
|
47
|
+
return process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
// Empty the temp folder if it exists
|
|
50
|
+
if (fs.existsSync(tempFolder)) {
|
|
51
|
+
fs.rmSync(tempFolder, { recursive: true });
|
|
52
|
+
}
|
|
53
|
+
// Create the temp folder
|
|
54
|
+
fs.mkdirSync(tempFolder, { recursive: true });
|
|
55
|
+
// Clone the repository
|
|
56
|
+
try {
|
|
57
|
+
const cloneCommand = `git clone -n --depth=1 --single-branch --branch ${branch} --filter=tree:0 ${repoUrl} ${tempFolder}`;
|
|
58
|
+
(0, child_process_1.execSync)(cloneCommand);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
console.error('Error:', error);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
// checkout the examples sub folder
|
|
65
|
+
try {
|
|
66
|
+
(0, child_process_1.execSync)(`git sparse-checkout set ${subFolderName}`, { cwd: tempFolder });
|
|
67
|
+
(0, child_process_1.execSync)(`git checkout`, { cwd: tempFolder });
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
console.error('Error:', error);
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
// Ensure targetPath exists and is a directory
|
|
74
|
+
if (!fs.existsSync(targetPath) || !fs.statSync(targetPath).isDirectory()) {
|
|
75
|
+
fs.mkdirSync(targetPath, { recursive: true });
|
|
76
|
+
}
|
|
77
|
+
const source = path.resolve(tempFolder, subFolderName);
|
|
78
|
+
(0, fs_1.copyFolderSync)(source, targetPath);
|
|
79
|
+
// Empty the temp folder if it exists
|
|
80
|
+
if (fs.existsSync(tempFolder)) {
|
|
81
|
+
fs.rmSync(tempFolder, { recursive: true });
|
|
82
|
+
}
|
|
83
|
+
console.log(`Folder ${subFolderName} downloaded successfully from ${repoUrl} and moved to ${targetPath}`);
|
|
84
|
+
}
|
|
85
|
+
exports.gitCloneAndDownloadFolderSync = gitCloneAndDownloadFolderSync;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function buildTestnetTxLink(txHash: string): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildTestnetTxLink = void 0;
|
|
4
|
+
function buildTestnetTxLink(txHash) {
|
|
5
|
+
return `https://pudge.explorer.nervos.org/transaction/${txHash}`;
|
|
6
|
+
}
|
|
7
|
+
exports.buildTestnetTxLink = buildTestnetTxLink;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface TutorialOption {
|
|
2
|
+
name: string;
|
|
3
|
+
value: string;
|
|
4
|
+
description: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function loadTutorialOpts(): Promise<Array<TutorialOption>>;
|
|
7
|
+
export interface BareTemplateOption {
|
|
8
|
+
name: string;
|
|
9
|
+
value: string;
|
|
10
|
+
description: string;
|
|
11
|
+
tag: string[];
|
|
12
|
+
author: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function loadBareTemplateOpts(): Promise<Array<BareTemplateOption>>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.loadBareTemplateOpts = exports.loadTutorialOpts = void 0;
|
|
16
|
+
const axios_1 = __importDefault(require("axios"));
|
|
17
|
+
const const_1 = require("../cfg/const");
|
|
18
|
+
function loadTutorialOpts() {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const githubUrl = `https://raw.githubusercontent.com/${const_1.dappTemplateGitRepoUserAndName}/${const_1.dappTemplateGitBranch}/${const_1.dappTemplateGitFolder}/${const_1.dappTemplateGitSelectOptionFile}`;
|
|
21
|
+
try {
|
|
22
|
+
const response = yield axios_1.default.get(githubUrl);
|
|
23
|
+
return response.data;
|
|
24
|
+
}
|
|
25
|
+
catch (error) {
|
|
26
|
+
throw new Error(`Error fetching JSON: ${error.message}`);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
exports.loadTutorialOpts = loadTutorialOpts;
|
|
31
|
+
function loadBareTemplateOpts() {
|
|
32
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
33
|
+
const githubUrl = `https://raw.githubusercontent.com/${const_1.dappTemplateGitRepoUserAndName}/${const_1.dappTemplateGitBranch}/${const_1.dappTemplateGitFolder}/${const_1.bareTemplateGitSelectOptionFile}`;
|
|
34
|
+
try {
|
|
35
|
+
const response = yield axios_1.default.get(githubUrl);
|
|
36
|
+
return response.data;
|
|
37
|
+
}
|
|
38
|
+
catch (error) {
|
|
39
|
+
throw new Error(`Error fetching JSON: ${error.message}`);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
exports.loadBareTemplateOpts = loadBareTemplateOpts;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Network = void 0;
|
|
4
|
+
// network
|
|
5
|
+
var Network;
|
|
6
|
+
(function (Network) {
|
|
7
|
+
Network["devnet"] = "devnet";
|
|
8
|
+
Network["testnet"] = "testnet";
|
|
9
|
+
Network["mainnet"] = "mainnet";
|
|
10
|
+
})(Network || (exports.Network = Network = {}));
|
|
@@ -0,0 +1,59 @@
|
|
|
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.validateNetworkOpt = exports.isValidNetworkString = exports.validateExecDappEnvironment = exports.validateTypescriptWorkspace = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const const_1 = require("../cfg/const");
|
|
9
|
+
const fs_1 = __importDefault(require("fs"));
|
|
10
|
+
const type_1 = require("./type");
|
|
11
|
+
function validateTypescriptWorkspace() {
|
|
12
|
+
const cwd = const_1.currentExecPath;
|
|
13
|
+
// Check if package.json exists
|
|
14
|
+
const packageJsonPath = path_1.default.join(cwd, 'package.json');
|
|
15
|
+
if (!fs_1.default.existsSync(packageJsonPath)) {
|
|
16
|
+
throw new Error('package.json not found in the current directory');
|
|
17
|
+
}
|
|
18
|
+
// Check if tsconfig.json exists
|
|
19
|
+
const tsconfig = path_1.default.join(cwd, 'tsconfig.json');
|
|
20
|
+
if (!fs_1.default.existsSync(tsconfig)) {
|
|
21
|
+
throw new Error('tsconfig.json not found in the current directory');
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
exports.validateTypescriptWorkspace = validateTypescriptWorkspace;
|
|
25
|
+
function validateExecDappEnvironment() {
|
|
26
|
+
const cwd = const_1.currentExecPath;
|
|
27
|
+
// Check if package.json and tsconfig.json exists
|
|
28
|
+
validateTypescriptWorkspace();
|
|
29
|
+
// Check if offckb.config.ts exists
|
|
30
|
+
const offCKBConfigPath = path_1.default.resolve(cwd, 'offckb.config.ts');
|
|
31
|
+
if (!fs_1.default.existsSync(offCKBConfigPath)) {
|
|
32
|
+
throw new Error('offckb.config.ts not found in the current directory');
|
|
33
|
+
}
|
|
34
|
+
// Read offckb.config.ts file
|
|
35
|
+
const offCKBConfigFile = fs_1.default.readFileSync(offCKBConfigPath, 'utf-8');
|
|
36
|
+
// Check if offckb.config.ts contains OffCKBConfig interface
|
|
37
|
+
if (!offCKBConfigFile.includes('export interface OffCKBConfig')) {
|
|
38
|
+
throw new Error('offckb.config.ts does not contain OffCKBConfig interface');
|
|
39
|
+
}
|
|
40
|
+
// Check if OffCKBConfig is exported
|
|
41
|
+
if (!offCKBConfigFile.includes('export default offCKBConfig;')) {
|
|
42
|
+
throw new Error('OffCKBConfig interface is not exported in offckb.config.ts');
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.validateExecDappEnvironment = validateExecDappEnvironment;
|
|
46
|
+
function isValidNetworkString(network) {
|
|
47
|
+
return ['devnet', 'testnet', 'mainnet'].includes(network);
|
|
48
|
+
}
|
|
49
|
+
exports.isValidNetworkString = isValidNetworkString;
|
|
50
|
+
function validateNetworkOpt(network) {
|
|
51
|
+
if (!isValidNetworkString(network)) {
|
|
52
|
+
throw new Error('invalid network option, ' + network);
|
|
53
|
+
}
|
|
54
|
+
if (network === type_1.Network.mainnet) {
|
|
55
|
+
console.log('Mainnet not support yet. Please use CKB-CLI to operate on mainnet for better security. Check https://github.com/nervosnetwork/ckb-cli');
|
|
56
|
+
process.exit(1);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
exports.validateNetworkOpt = validateNetworkOpt;
|
package/package.json
CHANGED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { Indexer, RPC, config } from '@ckb-lumos/lumos';
|
|
2
|
+
|
|
3
|
+
export interface NetworkConfig {
|
|
4
|
+
lumosConfig: config.Config;
|
|
5
|
+
rpc_url: string;
|
|
6
|
+
rpc: RPC;
|
|
7
|
+
indexer: Indexer;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface OffCKBConfig {
|
|
11
|
+
version: string;
|
|
12
|
+
lumosVersion: string;
|
|
13
|
+
contractBinFolder: string;
|
|
14
|
+
network: {
|
|
15
|
+
devnet: NetworkConfig;
|
|
16
|
+
testnet: NetworkConfig;
|
|
17
|
+
mainnet: NetworkConfig;
|
|
18
|
+
};
|
|
19
|
+
initializeLumosConfig: () => void;
|
|
20
|
+
readonly rpc: RPC;
|
|
21
|
+
readonly indexer: Indexer;
|
|
22
|
+
readonly lumosConfig: config.Config;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function readEnvNetwork(): 'devnet' | 'testnet' | 'mainnet' {
|
|
26
|
+
// you may need to update the env method
|
|
27
|
+
// according to your frontend framework
|
|
28
|
+
const network = process.env.NETWORK;
|
|
29
|
+
const defaultNetwork = 'devnet';
|
|
30
|
+
if (!network) return defaultNetwork;
|
|
31
|
+
|
|
32
|
+
if (!['devnet', 'testnet', 'mainnet'].includes(network)) {
|
|
33
|
+
return defaultNetwork;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
return network as 'devnet' | 'testnet' | 'mainnet';
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// please do not alter the following structure
|
|
40
|
+
// we use it as a check point in offCKB
|
|
41
|
+
// ---devnet lumos config---
|
|
42
|
+
const lumosConfig: config.Config = {
|
|
43
|
+
PREFIX: 'ckt',
|
|
44
|
+
SCRIPTS: {
|
|
45
|
+
SECP256K1_BLAKE160: {
|
|
46
|
+
CODE_HASH: '0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8',
|
|
47
|
+
HASH_TYPE: 'type',
|
|
48
|
+
TX_HASH: '0x75be96e1871693f030db27ddae47890a28ab180e88e36ebb3575d9f1377d3da7',
|
|
49
|
+
INDEX: '0x0',
|
|
50
|
+
DEP_TYPE: 'depGroup',
|
|
51
|
+
SHORT_ID: 1,
|
|
52
|
+
},
|
|
53
|
+
SECP256K1_BLAKE160_MULTISIG: {
|
|
54
|
+
CODE_HASH: '0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8',
|
|
55
|
+
HASH_TYPE: 'type',
|
|
56
|
+
TX_HASH: '0x75be96e1871693f030db27ddae47890a28ab180e88e36ebb3575d9f1377d3da7',
|
|
57
|
+
INDEX: '0x1',
|
|
58
|
+
DEP_TYPE: 'depGroup',
|
|
59
|
+
},
|
|
60
|
+
DAO: {
|
|
61
|
+
CODE_HASH: '0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e',
|
|
62
|
+
HASH_TYPE: 'type',
|
|
63
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
64
|
+
INDEX: '0x2',
|
|
65
|
+
DEP_TYPE: 'code',
|
|
66
|
+
SHORT_ID: 2,
|
|
67
|
+
},
|
|
68
|
+
SUDT: {
|
|
69
|
+
CODE_HASH: '0x6283a479a3cf5d4276cd93594de9f1827ab9b55c7b05b3d28e4c2e0a696cfefd',
|
|
70
|
+
HASH_TYPE: 'type',
|
|
71
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
72
|
+
INDEX: '0x5',
|
|
73
|
+
DEP_TYPE: 'code',
|
|
74
|
+
},
|
|
75
|
+
XUDT: {
|
|
76
|
+
CODE_HASH: '0x1a1e4fef34f5982906f745b048fe7b1089647e82346074e0f32c2ece26cf6b1e',
|
|
77
|
+
HASH_TYPE: 'type',
|
|
78
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
79
|
+
INDEX: '0x6',
|
|
80
|
+
DEP_TYPE: 'code',
|
|
81
|
+
},
|
|
82
|
+
OMNILOCK: {
|
|
83
|
+
CODE_HASH: '0x9c6933d977360f115a3e9cd5a2e0e475853681b80d775d93ad0f8969da343e56',
|
|
84
|
+
HASH_TYPE: 'type',
|
|
85
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
86
|
+
INDEX: '0x7',
|
|
87
|
+
DEP_TYPE: 'code',
|
|
88
|
+
},
|
|
89
|
+
ANYONE_CAN_PAY: {
|
|
90
|
+
CODE_HASH: '0xe09352af0066f3162287763ce4ddba9af6bfaeab198dc7ab37f8c71c9e68bb5b',
|
|
91
|
+
HASH_TYPE: 'type',
|
|
92
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
93
|
+
INDEX: '0x8',
|
|
94
|
+
DEP_TYPE: 'code',
|
|
95
|
+
},
|
|
96
|
+
ALWAYS_SUCCESS: {
|
|
97
|
+
CODE_HASH: '0xbb4469004225b39e983929db71fe2253cba1d49a76223e9e1d212cdca1f79f28',
|
|
98
|
+
HASH_TYPE: 'type',
|
|
99
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
100
|
+
INDEX: '0x9',
|
|
101
|
+
DEP_TYPE: 'code',
|
|
102
|
+
},
|
|
103
|
+
SPORE: {
|
|
104
|
+
CODE_HASH: '0x7e8bf78a62232caa2f5d47e691e8db1a90d05e93dc6828ad3cb935c01ec6d208',
|
|
105
|
+
HASH_TYPE: 'data1',
|
|
106
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
107
|
+
INDEX: '0xa',
|
|
108
|
+
DEP_TYPE: 'code',
|
|
109
|
+
},
|
|
110
|
+
SPORE_CLUSTER: {
|
|
111
|
+
CODE_HASH: '0x7366a61534fa7c7e6225ecc0d828ea3b5366adec2b58206f2ee84995fe030075',
|
|
112
|
+
HASH_TYPE: 'data1',
|
|
113
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
114
|
+
INDEX: '0xb',
|
|
115
|
+
DEP_TYPE: 'code',
|
|
116
|
+
},
|
|
117
|
+
SPORE_CLUSTER_AGENT: {
|
|
118
|
+
CODE_HASH: '0xc986099b41d79ca1b2a56ce5874bcda8175440a17298ea5e2bbc3897736b8c21',
|
|
119
|
+
HASH_TYPE: 'data1',
|
|
120
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
121
|
+
INDEX: '0xc',
|
|
122
|
+
DEP_TYPE: 'code',
|
|
123
|
+
},
|
|
124
|
+
SPORE_CLUSTER_PROXY: {
|
|
125
|
+
CODE_HASH: '0xbe8b9ce3d05a32c4bb26fe71cd5fc1407ce91e3a8b9e8719be2ab072cef1454b',
|
|
126
|
+
HASH_TYPE: 'data1',
|
|
127
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
128
|
+
INDEX: '0xd',
|
|
129
|
+
DEP_TYPE: 'code',
|
|
130
|
+
},
|
|
131
|
+
SPORE_LUA: {
|
|
132
|
+
CODE_HASH: '0x94a9b875911ace20f1f0d063a26495d14e4b04e32fd218261bb747f34e71ae47',
|
|
133
|
+
HASH_TYPE: 'data1',
|
|
134
|
+
TX_HASH: '0x1dbed8dcfe0f18359c65c5e9546fd15cd69de73ea0a502345be30180649c9467',
|
|
135
|
+
INDEX: '0xe',
|
|
136
|
+
DEP_TYPE: 'code',
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
} as config.Config;
|
|
140
|
+
// ---end of devnet lumos config---
|
|
141
|
+
// ---testnet lumos config---
|
|
142
|
+
const testnetLumosConfig: config.Config = { ...config.predefined.AGGRON4, ...{} } as config.Config;
|
|
143
|
+
// ---end of testnet lumos config---
|
|
144
|
+
// ---mainnet lumos config---
|
|
145
|
+
const mainnetLumosConfig: config.Config = { ...config.predefined.LINA, ...{} } as config.Config;
|
|
146
|
+
// ---end of mainnet lumos config---
|
|
147
|
+
|
|
148
|
+
const offCKBConfig: OffCKBConfig = {
|
|
149
|
+
version: 'update-me-offckb-config-version',
|
|
150
|
+
lumosVersion: '0.21.0',
|
|
151
|
+
contractBinFolder: '../../build/release',
|
|
152
|
+
network: {
|
|
153
|
+
devnet: {
|
|
154
|
+
lumosConfig,
|
|
155
|
+
rpc_url: 'http://127.0.0.1:8114',
|
|
156
|
+
rpc: new RPC('http://127.0.0.1:8114'),
|
|
157
|
+
indexer: new Indexer('http://127.0.0.1:8114'),
|
|
158
|
+
},
|
|
159
|
+
testnet: {
|
|
160
|
+
lumosConfig: testnetLumosConfig,
|
|
161
|
+
rpc_url: 'https://testnet.ckb.dev/rpc',
|
|
162
|
+
rpc: new RPC('https://testnet.ckb.dev/rpc'),
|
|
163
|
+
indexer: new Indexer('https://testnet.ckb.dev/rpc'),
|
|
164
|
+
},
|
|
165
|
+
mainnet: {
|
|
166
|
+
lumosConfig: mainnetLumosConfig,
|
|
167
|
+
rpc_url: 'https://mainnet.ckb.dev/rpc',
|
|
168
|
+
rpc: new RPC('https://mainnet.ckb.dev/rpc'),
|
|
169
|
+
indexer: new Indexer('https://mainnet.ckb.dev/rpc'),
|
|
170
|
+
},
|
|
171
|
+
},
|
|
172
|
+
initializeLumosConfig: () => {
|
|
173
|
+
const network = readEnvNetwork();
|
|
174
|
+
const lumosConfig = offCKBConfig.network[network].lumosConfig;
|
|
175
|
+
return config.initializeConfig(lumosConfig);
|
|
176
|
+
},
|
|
177
|
+
get rpc() {
|
|
178
|
+
const network = readEnvNetwork();
|
|
179
|
+
return offCKBConfig.network[network].rpc;
|
|
180
|
+
},
|
|
181
|
+
|
|
182
|
+
get indexer() {
|
|
183
|
+
const network = readEnvNetwork();
|
|
184
|
+
return offCKBConfig.network[network].indexer;
|
|
185
|
+
},
|
|
186
|
+
|
|
187
|
+
get lumosConfig() {
|
|
188
|
+
const network = readEnvNetwork();
|
|
189
|
+
return offCKBConfig.network[network].lumosConfig;
|
|
190
|
+
},
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
export default offCKBConfig;
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
export declare function devnetLumosConfigTemplate(cellBaseTxHashInGenesisBlock: string, secondTxHashInGenesisBlock: string): {
|
|
2
|
-
PREFIX: string;
|
|
3
|
-
SCRIPTS: {
|
|
4
|
-
SECP256K1_BLAKE160: {
|
|
5
|
-
CODE_HASH: string;
|
|
6
|
-
HASH_TYPE: string;
|
|
7
|
-
TX_HASH: string;
|
|
8
|
-
INDEX: string;
|
|
9
|
-
DEP_TYPE: string;
|
|
10
|
-
SHORT_ID: number;
|
|
11
|
-
};
|
|
12
|
-
SECP256K1_BLAKE160_MULTISIG: {
|
|
13
|
-
CODE_HASH: string;
|
|
14
|
-
HASH_TYPE: string;
|
|
15
|
-
TX_HASH: string;
|
|
16
|
-
INDEX: string;
|
|
17
|
-
DEP_TYPE: string;
|
|
18
|
-
};
|
|
19
|
-
DAO: {
|
|
20
|
-
CODE_HASH: string;
|
|
21
|
-
HASH_TYPE: string;
|
|
22
|
-
TX_HASH: string;
|
|
23
|
-
INDEX: string;
|
|
24
|
-
DEP_TYPE: string;
|
|
25
|
-
SHORT_ID: number;
|
|
26
|
-
};
|
|
27
|
-
SUDT: {
|
|
28
|
-
CODE_HASH: string;
|
|
29
|
-
HASH_TYPE: string;
|
|
30
|
-
TX_HASH: string;
|
|
31
|
-
INDEX: string;
|
|
32
|
-
DEP_TYPE: string;
|
|
33
|
-
};
|
|
34
|
-
XUDT: {
|
|
35
|
-
CODE_HASH: string;
|
|
36
|
-
HASH_TYPE: string;
|
|
37
|
-
TX_HASH: string;
|
|
38
|
-
INDEX: string;
|
|
39
|
-
DEP_TYPE: string;
|
|
40
|
-
};
|
|
41
|
-
OMNILOCK: {
|
|
42
|
-
CODE_HASH: string;
|
|
43
|
-
HASH_TYPE: string;
|
|
44
|
-
TX_HASH: string;
|
|
45
|
-
INDEX: string;
|
|
46
|
-
DEP_TYPE: string;
|
|
47
|
-
};
|
|
48
|
-
ANYONE_CAN_PAY: {
|
|
49
|
-
CODE_HASH: string;
|
|
50
|
-
HASH_TYPE: string;
|
|
51
|
-
TX_HASH: string;
|
|
52
|
-
INDEX: string;
|
|
53
|
-
DEP_TYPE: string;
|
|
54
|
-
};
|
|
55
|
-
ALWAYS_SUCCESS: {
|
|
56
|
-
CODE_HASH: string;
|
|
57
|
-
HASH_TYPE: string;
|
|
58
|
-
TX_HASH: string;
|
|
59
|
-
INDEX: string;
|
|
60
|
-
DEP_TYPE: string;
|
|
61
|
-
};
|
|
62
|
-
SPORE: {
|
|
63
|
-
CODE_HASH: string;
|
|
64
|
-
HASH_TYPE: string;
|
|
65
|
-
TX_HASH: string;
|
|
66
|
-
INDEX: string;
|
|
67
|
-
DEP_TYPE: string;
|
|
68
|
-
};
|
|
69
|
-
SPORE_CLUSTER: {
|
|
70
|
-
CODE_HASH: string;
|
|
71
|
-
HASH_TYPE: string;
|
|
72
|
-
TX_HASH: string;
|
|
73
|
-
INDEX: string;
|
|
74
|
-
DEP_TYPE: string;
|
|
75
|
-
};
|
|
76
|
-
SPORE_CLUSTER_AGENT: {
|
|
77
|
-
CODE_HASH: string;
|
|
78
|
-
HASH_TYPE: string;
|
|
79
|
-
TX_HASH: string;
|
|
80
|
-
INDEX: string;
|
|
81
|
-
DEP_TYPE: string;
|
|
82
|
-
};
|
|
83
|
-
SPORE_CLUSTER_PROXY: {
|
|
84
|
-
CODE_HASH: string;
|
|
85
|
-
HASH_TYPE: string;
|
|
86
|
-
TX_HASH: string;
|
|
87
|
-
INDEX: string;
|
|
88
|
-
DEP_TYPE: string;
|
|
89
|
-
};
|
|
90
|
-
SPORE_LUA: {
|
|
91
|
-
CODE_HASH: string;
|
|
92
|
-
HASH_TYPE: string;
|
|
93
|
-
TX_HASH: string;
|
|
94
|
-
INDEX: string;
|
|
95
|
-
DEP_TYPE: string;
|
|
96
|
-
};
|
|
97
|
-
};
|
|
98
|
-
};
|
|
99
|
-
export declare function buildLumosConfig(): Promise<void>;
|
package/dist/util.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export declare function isFolderExists(folderPath: string): boolean;
|
|
2
|
-
export declare function copyFolderSync(source: string, destination: string): void;
|
|
3
|
-
export declare function copyFileSync(source: string, target: string): void;
|
|
4
|
-
export declare function copyFilesWithExclusion(sourceDir: string, destinationDir: string, excludedFolders: string[]): Promise<void>;
|
|
5
|
-
export declare function copyRecursive(source: string, destination: string, excludedFolders: string[]): Promise<void>;
|
|
6
|
-
export declare function isGitInstalled(): boolean;
|
|
7
|
-
export declare function gitCloneAndDownloadFolderSync(repoUrl: string, branch: string, subFolderName: string, targetPath: string): undefined;
|
|
8
|
-
export interface TemplateOption {
|
|
9
|
-
name: string;
|
|
10
|
-
value: string;
|
|
11
|
-
description: string;
|
|
12
|
-
}
|
|
13
|
-
export declare function loadTemplateOpts(): Promise<Array<TemplateOption>>;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|