@offckb/cli 0.3.0-rc7 → 0.3.0-rc8

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/cli.js CHANGED
@@ -95,7 +95,7 @@ program.command('accounts').description('Print account list info').action(accoun
95
95
  program
96
96
  .command('list-hashes [CKB-Version]')
97
97
  .description('Use the CKB to list blockchain scripts hashes')
98
- .action(list_hashes_1.listHashes);
98
+ .action(list_hashes_1.printDevnetListHashes);
99
99
  program.command('inject-config').description('Add offckb.config.ts to your frontend workspace').action(inject_config_1.injectConfig);
100
100
  program.command('sync-scripts').description('Sync scripts json files in your frontend workspace').action(sync_scripts_1.syncScripts);
101
101
  program
@@ -166,11 +166,13 @@ program
166
166
  }));
167
167
  program
168
168
  .command('system-scripts')
169
- .option('--export-style <exportStyle>', 'Specify the export format, possible values are lumos and ccc.')
170
- .description('Output system scripts of the local devnet')
169
+ .option('--export-style <exportStyle>', 'Specify the export format, possible values are system, lumos and ccc.')
170
+ .option('--network <network>', 'Specify the CKB blockchain network', 'devnet')
171
+ .description('Output system scripts of the CKB blockchain')
171
172
  .action((option) => __awaiter(void 0, void 0, void 0, function* () {
173
+ const network = option.network;
172
174
  const exportStyle = option.exportStyle;
173
- return (0, system_scripts_1.printSystemScripts)(exportStyle);
175
+ return (0, system_scripts_1.printSystemScripts)({ style: exportStyle, network });
174
176
  }));
175
177
  program
176
178
  .command('mol')
@@ -21,5 +21,5 @@ export interface SpecHashes {
21
21
  export interface ListHashes {
22
22
  offckb: SpecHashes;
23
23
  }
24
- export declare function listHashes(version?: string): Promise<void>;
25
- export declare function getListHashes(version?: string): string | null;
24
+ export declare function printDevnetListHashes(version?: string): Promise<void>;
25
+ export declare function getDevnetListHashes(version?: string): string | null;
@@ -9,18 +9,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getListHashes = exports.listHashes = void 0;
12
+ exports.getDevnetListHashes = exports.printDevnetListHashes = void 0;
13
13
  const child_process_1 = require("child_process");
14
14
  const setting_1 = require("../cfg/setting");
15
15
  const encoding_1 = require("../util/encoding");
16
- function listHashes(version) {
16
+ function printDevnetListHashes(version) {
17
17
  return __awaiter(this, void 0, void 0, function* () {
18
- const output = getListHashes(version);
18
+ const output = getDevnetListHashes(version);
19
19
  console.log(output);
20
20
  });
21
21
  }
22
- exports.listHashes = listHashes;
23
- function getListHashes(version) {
22
+ exports.printDevnetListHashes = printDevnetListHashes;
23
+ function getDevnetListHashes(version) {
24
24
  const settings = (0, setting_1.readSettings)();
25
25
  const ckbVersion = version || settings.bins.defaultCKBVersion;
26
26
  const ckbBinPath = (0, encoding_1.encodeBinPathForTerminal)((0, setting_1.getCKBBinaryPath)(ckbVersion));
@@ -37,4 +37,4 @@ function getListHashes(version) {
37
37
  return null;
38
38
  }
39
39
  }
40
- exports.getListHashes = getListHashes;
40
+ exports.getDevnetListHashes = getDevnetListHashes;
@@ -1,40 +1,29 @@
1
1
  import { SystemCell } from './list-hashes';
2
2
  import { CellDepInfoLike, Script } from '@ckb-ccc/core';
3
- import { SystemScriptsRecord } from '../scripts/type';
4
- export type PrintProps = 'lumos' | 'ccc';
5
- export declare function printSystemScripts(props?: PrintProps): Promise<void>;
6
- export declare function printInSystemStyle(systemScripts: SystemScriptsRecord): void;
7
- export declare function printInLumosConfigStyle(scripts: SystemScriptsRecord): void;
8
- export declare function printInCCCStyle(scripts: SystemScriptsRecord): void;
9
- export declare function getSystemScriptsFromListHashes(): SystemScriptsRecord | null;
10
- export declare function systemCellToScriptInfo(cell: SystemCell, depType: 'code' | 'depGroup', depGroup?: {
11
- txHash: string;
12
- index: number;
13
- }): {
14
- codeHash: string;
15
- hashType: string;
16
- cellDeps: {
17
- cellDep: {
18
- outPoint: {
19
- txHash: string;
20
- index: number;
21
- };
22
- depType: "code";
23
- };
24
- }[];
25
- } | {
26
- codeHash: string;
27
- hashType: string;
28
- cellDeps: {
29
- cellDep: {
30
- outPoint: {
31
- txHash: string;
32
- index: number;
33
- };
34
- depType: "depGroup";
35
- };
36
- }[];
37
- };
3
+ import { ScriptInfo, SystemScriptsRecord } from '../scripts/type';
4
+ import { Network, NetworkOption } from '../type/base';
5
+ export declare enum PrintStyle {
6
+ system = "system",
7
+ lumos = "lumos",
8
+ ccc = "ccc"
9
+ }
10
+ export interface PrintProps extends NetworkOption {
11
+ style?: PrintStyle;
12
+ }
13
+ export declare function printSystemScripts({ style, network }: PrintProps): Promise<void>;
14
+ export declare function printInSystemStyle(systemScripts: SystemScriptsRecord, network: Network): void;
15
+ export declare function printInLumosConfigStyle(scripts: SystemScriptsRecord, network: Network): void;
16
+ export declare function printInCCCStyle(scripts: SystemScriptsRecord, network: Network): void;
17
+ export declare function getDevnetSystemScriptsFromListHashes(): SystemScriptsRecord | null;
18
+ export declare function systemCellToScriptInfo({ cell, depType, depGroup, extraCellDeps, }: {
19
+ cell: SystemCell;
20
+ depType: 'code' | 'depGroup';
21
+ depGroup?: {
22
+ txHash: string;
23
+ index: number;
24
+ };
25
+ extraCellDeps?: ScriptInfo['cellDeps'];
26
+ }): ScriptInfo;
38
27
  export declare function toLumosConfig(scripts: SystemScriptsRecord, addressPrefix?: 'ckb' | 'ckt'): {
39
28
  PREFIX: "ckb" | "ckt";
40
29
  SCRIPTS: {
@@ -12,30 +12,42 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
12
12
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.toCCCKnownScripts = exports.toLumosConfig = exports.systemCellToScriptInfo = exports.getSystemScriptsFromListHashes = exports.printInCCCStyle = exports.printInLumosConfigStyle = exports.printInSystemStyle = exports.printSystemScripts = void 0;
15
+ exports.toCCCKnownScripts = exports.toLumosConfig = exports.systemCellToScriptInfo = exports.getDevnetSystemScriptsFromListHashes = exports.printInCCCStyle = exports.printInLumosConfigStyle = exports.printInSystemStyle = exports.printSystemScripts = exports.PrintStyle = void 0;
16
16
  const setting_1 = require("../cfg/setting");
17
17
  const list_hashes_1 = require("./list-hashes");
18
18
  const toml_1 = __importDefault(require("@iarna/toml"));
19
19
  const core_1 = require("@ckb-ccc/core");
20
- function printSystemScripts(props) {
20
+ const base_1 = require("../type/base");
21
+ const public_1 = require("../scripts/public");
22
+ var PrintStyle;
23
+ (function (PrintStyle) {
24
+ PrintStyle["system"] = "system";
25
+ PrintStyle["lumos"] = "lumos";
26
+ PrintStyle["ccc"] = "ccc";
27
+ })(PrintStyle || (exports.PrintStyle = PrintStyle = {}));
28
+ function printSystemScripts({ style = PrintStyle.system, network = base_1.Network.devnet }) {
21
29
  return __awaiter(this, void 0, void 0, function* () {
22
- const systemScripts = getSystemScriptsFromListHashes();
23
- if (systemScripts) {
24
- if (!props) {
25
- return printInSystemStyle(systemScripts);
26
- }
27
- if (props === 'lumos') {
28
- return printInLumosConfigStyle(systemScripts);
29
- }
30
- if (props === 'ccc') {
31
- return printInCCCStyle(systemScripts);
32
- }
30
+ const systemScripts = network === base_1.Network.mainnet
31
+ ? public_1.MAINNET_SYSTEM_SCRIPTS
32
+ : network === base_1.Network.testnet
33
+ ? public_1.TESTNET_SYSTEM_SCRIPTS
34
+ : getDevnetSystemScriptsFromListHashes();
35
+ if (!systemScripts)
36
+ return console.log(`SystemScripts is null, ${network}`);
37
+ if (style === PrintStyle.system) {
38
+ return printInSystemStyle(systemScripts, network);
39
+ }
40
+ if (style === PrintStyle.lumos) {
41
+ return printInLumosConfigStyle(systemScripts, network);
42
+ }
43
+ if (style === PrintStyle.ccc) {
44
+ return printInCCCStyle(systemScripts, network);
33
45
  }
34
46
  });
35
47
  }
36
48
  exports.printSystemScripts = printSystemScripts;
37
- function printInSystemStyle(systemScripts) {
38
- console.log('*** OffCKB Devnet System Scripts ***\n');
49
+ function printInSystemStyle(systemScripts, network) {
50
+ console.log(`*** CKB ${network.toUpperCase()} System Scripts ***\n`);
39
51
  for (const [name, script] of Object.entries(systemScripts)) {
40
52
  console.log(`- name: ${name}`);
41
53
  if (script == null) {
@@ -48,86 +60,93 @@ function printInSystemStyle(systemScripts) {
48
60
  }
49
61
  }
50
62
  exports.printInSystemStyle = printInSystemStyle;
51
- function printInLumosConfigStyle(scripts) {
52
- const config = toLumosConfig(scripts);
53
- console.log('*** OffCKB Devnet System Scripts As LumosConfig ***\n');
63
+ function printInLumosConfigStyle(scripts, network) {
64
+ const config = toLumosConfig(scripts, network === base_1.Network.mainnet ? 'ckb' : 'ckt');
65
+ console.log(`*** CKB ${network.toUpperCase()} System Scripts As LumosConfig ***\n`);
54
66
  console.log(JSON.stringify(config, null, 2));
55
67
  }
56
68
  exports.printInLumosConfigStyle = printInLumosConfigStyle;
57
- function printInCCCStyle(scripts) {
69
+ function printInCCCStyle(scripts, network) {
58
70
  const knownsScripts = toCCCKnownScripts(scripts);
59
- console.log('*** OffCKB Devnet System Scripts As CCC KnownScripts ***\n');
71
+ console.log(`*** CKB ${network.toUpperCase()} System Scripts As CCC KnownScripts ***\n`);
60
72
  console.log(JSON.stringify(knownsScripts, null, 2));
61
73
  }
62
74
  exports.printInCCCStyle = printInCCCStyle;
63
- function getSystemScriptsFromListHashes() {
75
+ function getDevnetSystemScriptsFromListHashes() {
76
+ var _a;
64
77
  const settings = (0, setting_1.readSettings)();
65
- const listHashesString = (0, list_hashes_1.getListHashes)(settings.bins.defaultCKBVersion);
66
- if (listHashesString) {
67
- const listHashes = toml_1.default.parse(listHashesString);
68
- const chainSpecHashes = Object.values(listHashes)[0];
69
- if (chainSpecHashes == null) {
70
- throw new Error(`invalid chain spec hashes file ${listHashesString}`);
71
- }
72
- const systemScriptArray = chainSpecHashes.system_cells
73
- .map((cell) => {
74
- var _a;
75
- // Extract the file name
76
- const name = ((_a = cell.path.split('/').pop()) === null || _a === void 0 ? void 0 : _a.replace(')', '')) || 'unknown script';
77
- const depGroupIndex = chainSpecHashes.dep_groups.findIndex((depGroup) => depGroup.included_cells.includes(`Bundled(specs/cells/${name})`));
78
- const depType = depGroupIndex === -1 ? 'code' : 'depGroup';
79
- const depGroup = depGroupIndex === -1
80
- ? undefined
81
- : {
82
- txHash: chainSpecHashes.dep_groups[depGroupIndex].tx_hash,
83
- index: chainSpecHashes.dep_groups[depGroupIndex].index,
84
- };
85
- const scriptInfo = systemCellToScriptInfo(cell, depType, depGroup);
86
- return {
87
- name,
88
- file: cell.path,
89
- script: scriptInfo,
90
- };
91
- })
92
- .filter((s) => s.name != 'secp256k1_data');
93
- const systemScripts = systemScriptArray.reduce((acc, item) => {
94
- const key = item.name;
95
- acc[key] = item;
96
- return acc;
97
- }, {});
98
- return systemScripts;
99
- }
100
- else {
78
+ const listHashesString = (0, list_hashes_1.getDevnetListHashes)(settings.bins.defaultCKBVersion);
79
+ if (!listHashesString) {
101
80
  console.log(`list-hashes not found!`);
102
81
  return null;
103
82
  }
104
- }
105
- exports.getSystemScriptsFromListHashes = getSystemScriptsFromListHashes;
106
- function systemCellToScriptInfo(cell, depType, depGroup) {
107
- if (depType === 'depGroup' && !depGroup) {
108
- throw new Error('require depGroup info since the dep type is depGroup');
83
+ const listHashes = toml_1.default.parse(listHashesString);
84
+ const chainSpecHashes = Object.values(listHashes)[0];
85
+ if (chainSpecHashes == null) {
86
+ throw new Error(`invalid chain spec hashes file ${listHashesString}`);
109
87
  }
110
- if (depType === 'code') {
88
+ const systemScriptArray = chainSpecHashes.system_cells
89
+ .map((cell) => {
90
+ var _a;
91
+ // Extract the file name
92
+ const name = ((_a = cell.path.split('/').pop()) === null || _a === void 0 ? void 0 : _a.replace(')', '')) || 'unknown script';
93
+ const depGroupIndex = chainSpecHashes.dep_groups.findIndex((depGroup) => depGroup.included_cells.includes(`Bundled(specs/cells/${name})`));
94
+ const depType = depGroupIndex === -1 ? 'code' : 'depGroup';
95
+ const depGroup = depGroupIndex === -1
96
+ ? undefined
97
+ : {
98
+ txHash: chainSpecHashes.dep_groups[depGroupIndex].tx_hash,
99
+ index: chainSpecHashes.dep_groups[depGroupIndex].index,
100
+ };
101
+ const scriptInfo = systemCellToScriptInfo({ cell, depType, depGroup });
111
102
  return {
112
- codeHash: cell.type_hash || cell.data_hash,
113
- hashType: cell.type_hash ? 'type' : 'data1',
114
- cellDeps: [
115
- {
116
- cellDep: {
117
- outPoint: {
118
- txHash: cell.tx_hash,
119
- index: cell.index,
120
- },
121
- depType,
103
+ name,
104
+ file: cell.path,
105
+ script: scriptInfo,
106
+ };
107
+ })
108
+ .filter((s) => s.name != 'secp256k1_data');
109
+ const systemScripts = systemScriptArray.reduce((acc, item) => {
110
+ const key = item.name;
111
+ acc[key] = item;
112
+ return acc;
113
+ }, {});
114
+ // some special case fixes
115
+ // eg: omnilock also requires the deps of secp256k1-sigHashAll
116
+ (_a = systemScripts.omnilock) === null || _a === void 0 ? void 0 : _a.script.cellDeps.push(systemScripts.secp256k1_blake160_sighash_all.script.cellDeps[0]);
117
+ return systemScripts;
118
+ }
119
+ exports.getDevnetSystemScriptsFromListHashes = getDevnetSystemScriptsFromListHashes;
120
+ function systemCellToScriptInfo({ cell, depType, depGroup, extraCellDeps, }) {
121
+ // todo: we left the type in cellDepsInfo since it requires async fetching and
122
+ // chain running to get the full type script of the type-id deps.
123
+ // Also, in devnet there is no real need to auto upgrade the system scripts with type-id
124
+ if (depType === 'code') {
125
+ let cellDeps = [
126
+ {
127
+ cellDep: {
128
+ outPoint: {
129
+ txHash: cell.tx_hash,
130
+ index: cell.index,
122
131
  },
132
+ depType,
123
133
  },
124
- ],
134
+ },
135
+ ];
136
+ if (extraCellDeps && extraCellDeps.length > 0) {
137
+ cellDeps = [...extraCellDeps, ...cellDeps];
138
+ }
139
+ return {
140
+ codeHash: (cell.type_hash || cell.data_hash),
141
+ hashType: cell.type_hash ? 'type' : 'data1',
142
+ cellDeps,
125
143
  };
126
144
  }
127
- return {
128
- codeHash: cell.type_hash || cell.data_hash,
129
- hashType: cell.type_hash ? 'type' : 'data1',
130
- cellDeps: [
145
+ if (depType === 'depGroup') {
146
+ if (!depGroup) {
147
+ throw new Error('require depGroup info since the dep type is depGroup');
148
+ }
149
+ let cellDeps = [
131
150
  {
132
151
  cellDep: {
133
152
  outPoint: {
@@ -137,8 +156,17 @@ function systemCellToScriptInfo(cell, depType, depGroup) {
137
156
  depType,
138
157
  },
139
158
  },
140
- ],
141
- };
159
+ ];
160
+ if (extraCellDeps && extraCellDeps.length > 0) {
161
+ cellDeps = [...extraCellDeps, ...cellDeps];
162
+ }
163
+ return {
164
+ codeHash: (cell.type_hash || cell.data_hash),
165
+ hashType: cell.type_hash ? 'type' : 'data1',
166
+ cellDeps,
167
+ };
168
+ }
169
+ throw new Error(`unknown DepType ${depType}`);
142
170
  }
143
171
  exports.systemCellToScriptInfo = systemCellToScriptInfo;
144
172
  function toLumosConfig(scripts, addressPrefix = 'ckt') {
@@ -34,7 +34,7 @@ const path_1 = __importDefault(require("path"));
34
34
  const base_1 = require("../type/base");
35
35
  const util_1 = require("./util");
36
36
  function genSystemScripts() {
37
- const devnetScripts = (0, system_scripts_1.getSystemScriptsFromListHashes)();
37
+ const devnetScripts = (0, system_scripts_1.getDevnetSystemScriptsFromListHashes)();
38
38
  if (devnetScripts != null) {
39
39
  const networkScripts = {
40
40
  devnet: devnetScripts,
@@ -4,7 +4,7 @@ exports.buildCCCDevnetKnownScripts = void 0;
4
4
  //todo: extract getSystemScriptsFromListHashes/toCCCKnownScripts from cmd folder
5
5
  const system_scripts_1 = require("../cmd/system-scripts");
6
6
  function buildCCCDevnetKnownScripts() {
7
- const devnetSystemScripts = (0, system_scripts_1.getSystemScriptsFromListHashes)();
7
+ const devnetSystemScripts = (0, system_scripts_1.getDevnetSystemScriptsFromListHashes)();
8
8
  if (devnetSystemScripts == null) {
9
9
  throw new Error('can not getSystemScriptsFromListHashes in devnet');
10
10
  }
@@ -1,62 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.MAINNET_SYSTEM_SCRIPTS = exports.TESTNET_SYSTEM_SCRIPTS = void 0;
4
+ const advanced_1 = require("@ckb-ccc/core/advanced");
5
+ const advanced_2 = require("@ckb-ccc/core/advanced");
4
6
  // spore: https://github.com/sporeprotocol/spore-contract/blob/master/docs/VERSIONS.md
5
7
  exports.TESTNET_SYSTEM_SCRIPTS = {
6
8
  secp256k1_blake160_sighash_all: {
7
9
  name: 'secp256k1_blake160_sighash_all',
8
- script: {
9
- codeHash: '0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8',
10
- hashType: 'type',
11
- cellDeps: [
12
- {
13
- cellDep: {
14
- outPoint: {
15
- txHash: '0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37',
16
- index: 0,
17
- },
18
- depType: 'depGroup',
19
- },
20
- },
21
- ],
22
- },
10
+ script: advanced_1.TESTNET_SCRIPTS.Secp256k1Blake160,
23
11
  },
24
12
  dao: {
25
13
  name: 'dao',
26
- script: {
27
- codeHash: '0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e',
28
- hashType: 'type',
29
- cellDeps: [
30
- {
31
- cellDep: {
32
- outPoint: {
33
- txHash: '0x8f8c79eb6671709633fe6a46de93c0fedc9c1b8a6527a18d3983879542635c9f',
34
- index: 2,
35
- },
36
- depType: 'code',
37
- },
38
- },
39
- ],
40
- },
14
+ script: advanced_1.TESTNET_SCRIPTS.NervosDao,
41
15
  },
42
16
  secp256k1_blake160_multisig_all: {
43
17
  name: 'secp256k1_blake160_multisig_all',
44
- file: 'Bundled(specs/cells/secp256k1_blake160_multisig_all)',
45
- script: {
46
- codeHash: '0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8',
47
- hashType: 'type',
48
- cellDeps: [
49
- {
50
- cellDep: {
51
- outPoint: {
52
- txHash: '0xf8de3bb47d055cdf460d93a2a6e1b05f7432f9777c8c474abf4eec1d4aee5d37',
53
- index: 1,
54
- },
55
- depType: 'depGroup',
56
- },
57
- },
58
- ],
59
- },
18
+ script: advanced_1.TESTNET_SCRIPTS.Secp256k1Multisig,
60
19
  },
61
20
  sudt: {
62
21
  name: 'sudt',
@@ -78,57 +37,15 @@ exports.TESTNET_SYSTEM_SCRIPTS = {
78
37
  },
79
38
  xudt: {
80
39
  name: 'xudt',
81
- script: {
82
- codeHash: '0x25c29dc317811a6f6f3985a7a9ebc4838bd388d19d0feeecf0bcd60f6c0975bb',
83
- hashType: 'type',
84
- cellDeps: [
85
- {
86
- cellDep: {
87
- outPoint: {
88
- txHash: '0xbf6fb538763efec2a70a6a3dcb7242787087e1030c4e7d86585bc63a9d337f5f',
89
- index: 0,
90
- },
91
- depType: 'code',
92
- },
93
- },
94
- ],
95
- },
40
+ script: advanced_1.TESTNET_SCRIPTS.XUdt,
96
41
  },
97
42
  omnilock: {
98
43
  name: 'omnilock',
99
- script: {
100
- codeHash: '0xf329effd1c475a2978453c8600e1eaf0bc2087ee093c3ee64cc96ec6847752cb',
101
- hashType: 'type',
102
- cellDeps: [
103
- {
104
- cellDep: {
105
- outPoint: {
106
- txHash: '0xec18bf0d857c981c3d1f4e17999b9b90c484b303378e94de1a57b0872f5d4602',
107
- index: 0,
108
- },
109
- depType: 'code',
110
- },
111
- },
112
- ],
113
- },
44
+ script: advanced_1.TESTNET_SCRIPTS.OmniLock,
114
45
  },
115
46
  anyone_can_pay: {
116
47
  name: 'anyone_can_pay',
117
- script: {
118
- codeHash: '0x3419a1c09eb2567f6552ee7a8ecffd64155cffe0f1796e6e61ec088d740c1356',
119
- hashType: 'type',
120
- cellDeps: [
121
- {
122
- cellDep: {
123
- outPoint: {
124
- txHash: '0xec26b0f85ed839ece5f11c4c4e837ec359f5adc4420410f6453b1f6b60fb96a6',
125
- index: 0,
126
- },
127
- depType: 'depGroup',
128
- },
129
- },
130
- ],
131
- },
48
+ script: advanced_1.TESTNET_SCRIPTS.AnyoneCanPay,
132
49
  },
133
50
  always_success: undefined,
134
51
  spore: {
@@ -225,57 +142,15 @@ exports.TESTNET_SYSTEM_SCRIPTS = {
225
142
  exports.MAINNET_SYSTEM_SCRIPTS = {
226
143
  secp256k1_blake160_sighash_all: {
227
144
  name: 'secp256k1_blake160_sighash_all',
228
- script: {
229
- codeHash: '0x9bd7e06f3ecf4be0f2fcd2188b23f1b9fcc88e5d4b65a8637b17723bbda3cce8',
230
- hashType: 'type',
231
- cellDeps: [
232
- {
233
- cellDep: {
234
- outPoint: {
235
- txHash: '0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c',
236
- index: 0,
237
- },
238
- depType: 'depGroup',
239
- },
240
- },
241
- ],
242
- },
145
+ script: advanced_2.MAINNET_SCRIPTS.Secp256k1Blake160,
243
146
  },
244
147
  dao: {
245
148
  name: 'dao',
246
- script: {
247
- codeHash: '0x82d76d1b75fe2fd9a27dfbaa65a039221a380d76c926f378d3f81cf3e7e13f2e',
248
- hashType: 'type',
249
- cellDeps: [
250
- {
251
- cellDep: {
252
- outPoint: {
253
- txHash: '0xe2fb199810d49a4d8beec56718ba2593b665db9d52299a0f9e6e75416d73ff5c',
254
- index: 2,
255
- },
256
- depType: 'code',
257
- },
258
- },
259
- ],
260
- },
149
+ script: advanced_2.MAINNET_SCRIPTS.NervosDao,
261
150
  },
262
151
  secp256k1_blake160_multisig_all: {
263
152
  name: 'secp256k1_blake160_multisig_all',
264
- script: {
265
- codeHash: '0x5c5069eb0857efc65e1bca0c07df34c31663b3622fd3876c876320fc9634e2a8',
266
- hashType: 'type',
267
- cellDeps: [
268
- {
269
- cellDep: {
270
- outPoint: {
271
- txHash: '0x71a7ba8fc96349fea0ed3a5c47992e3b4084b031a42264a018e0072e8172e46c',
272
- index: 1,
273
- },
274
- depType: 'depGroup',
275
- },
276
- },
277
- ],
278
- },
153
+ script: advanced_2.MAINNET_SCRIPTS.Secp256k1Multisig,
279
154
  },
280
155
  sudt: {
281
156
  name: 'sudt',
@@ -297,57 +172,15 @@ exports.MAINNET_SYSTEM_SCRIPTS = {
297
172
  },
298
173
  xudt: {
299
174
  name: 'xudt',
300
- script: {
301
- codeHash: '0x50bd8d6680b8b9cf98b73f3c08faf8b2a21914311954118ad6609be6e78a1b95',
302
- hashType: 'data1',
303
- cellDeps: [
304
- {
305
- cellDep: {
306
- outPoint: {
307
- txHash: '0xc07844ce21b38e4b071dd0e1ee3b0e27afd8d7532491327f39b786343f558ab7',
308
- index: 0,
309
- },
310
- depType: 'code',
311
- },
312
- },
313
- ],
314
- },
175
+ script: advanced_2.MAINNET_SCRIPTS.XUdt,
315
176
  },
316
177
  omnilock: {
317
178
  name: 'omnilock',
318
- script: {
319
- codeHash: '0x9b819793a64463aed77c615d6cb226eea5487ccfc0783043a587254cda2b6f26',
320
- hashType: 'type',
321
- cellDeps: [
322
- {
323
- cellDep: {
324
- outPoint: {
325
- txHash: '0xc76edf469816aa22f416503c38d0b533d2a018e253e379f134c3985b3472c842',
326
- index: 0,
327
- },
328
- depType: 'code',
329
- },
330
- },
331
- ],
332
- },
179
+ script: advanced_2.MAINNET_SCRIPTS.OmniLock,
333
180
  },
334
181
  anyone_can_pay: {
335
182
  name: 'anyone_can_pay',
336
- script: {
337
- codeHash: '0xd369597ff47f29fbc0d47d2e3775370d1250b85140c670e4718af712983a2354',
338
- hashType: 'type',
339
- cellDeps: [
340
- {
341
- cellDep: {
342
- outPoint: {
343
- txHash: '0x4153a2014952d7cac45f285ce9a7c5c0c0e1b21f2d378b82ac1433cb11c25c4d',
344
- index: 0,
345
- },
346
- depType: 'depGroup',
347
- },
348
- },
349
- ],
350
- },
183
+ script: advanced_2.MAINNET_SCRIPTS.AnyoneCanPay,
351
184
  },
352
185
  always_success: undefined,
353
186
  spore: {
@@ -25,6 +25,11 @@ export interface ScriptInfo {
25
25
  };
26
26
  depType: DepType;
27
27
  };
28
+ type?: {
29
+ codeHash: `0x${string}`;
30
+ hashType: HashType;
31
+ args: `0x${string}`;
32
+ };
28
33
  }[];
29
34
  }
30
35
  export interface SystemScript {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@offckb/cli",
3
- "version": "0.3.0-rc7",
3
+ "version": "0.3.0-rc8",
4
4
  "description": "ckb development network for your first try",
5
5
  "author": "CKB EcoFund",
6
6
  "license": "MIT",
@@ -21,7 +21,7 @@ export enum SystemScriptName {
21
21
 
22
22
  export interface ScriptInfo {
23
23
  codeHash: `0x${string}`;
24
- hashType: 'type' | 'data';
24
+ hashType: 'type' | 'data' | 'data1';
25
25
  cellDeps: {
26
26
  cellDep: {
27
27
  outPoint: {
@@ -30,6 +30,11 @@ export interface ScriptInfo {
30
30
  };
31
31
  depType: 'code' | 'dep_group';
32
32
  };
33
+ type?: {
34
+ codeHash: `0x${string}`;
35
+ hashType: 'type' | 'data' | 'data1';
36
+ args: `0x${string}`;
37
+ };
33
38
  }[];
34
39
  }
35
40