@0xobelisk/sui-common 1.1.6 → 1.1.8
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/index.d.ts +18 -1
- package/dist/index.js +59 -68
- package/dist/index.js.map +1 -1
- package/package.json +10 -4
- package/src/codegen/debug.ts +3 -3
- package/src/codegen/index.ts +2 -2
- package/src/codegen/modules.d.ts +1 -1
- package/src/codegen/types/index.ts +26 -11
- package/src/codegen/utils/config.ts +14 -24
- package/src/codegen/utils/errors.ts +3 -4
- package/src/codegen/utils/format.ts +29 -32
- package/src/codegen/utils/formatAndWrite.ts +22 -19
- package/src/codegen/utils/posixPath.ts +1 -1
- package/src/codegen/utils/renderMove/common.ts +36 -41
- package/src/codegen/utils/renderMove/generateDappKey.ts +12 -15
- package/src/codegen/utils/renderMove/generateDefaultSchema.ts +20 -36
- package/src/codegen/utils/renderMove/generateError.ts +28 -33
- package/src/codegen/utils/renderMove/generateEvent.ts +65 -77
- package/src/codegen/utils/renderMove/generateInit.ts +14 -24
- package/src/codegen/utils/renderMove/generateSchema.ts +160 -197
- package/src/codegen/utils/renderMove/generateSchemaHub.ts +12 -15
- package/src/codegen/utils/renderMove/generateScript.ts +15 -32
- package/src/codegen/utils/renderMove/generateSystem.ts +3 -14
- package/src/codegen/utils/renderMove/generateToml.ts +10 -15
- package/src/codegen/utils/renderMove/schemaGen.ts +39 -47
- package/src/debug.ts +3 -3
- package/src/index.ts +3 -2
- package/src/modules.d.ts +2 -2
- package/src/parseData/index.ts +1 -1
- package/src/parseData/parser/index.ts +42 -42
- package/src/primitives/index.ts +8 -0
package/dist/index.d.ts
CHANGED
|
@@ -32,6 +32,10 @@ type SchemaData = Record<string, string> | string[];
|
|
|
32
32
|
type SchemaType = string;
|
|
33
33
|
type EventData = Record<string, string>;
|
|
34
34
|
type ErrorData = Record<string, string>;
|
|
35
|
+
type DataType = any;
|
|
36
|
+
declare function storage<T extends DataType>(value: T): SchemaType;
|
|
37
|
+
declare function storage<K extends DataType, V extends DataType>(key: K, value: V): SchemaType;
|
|
38
|
+
declare function storage<K1 extends DataType, K2 extends DataType, V extends DataType>(key1: K1, key2: K2, value: V): SchemaType;
|
|
35
39
|
type DubheConfig = {
|
|
36
40
|
name: string;
|
|
37
41
|
description: string;
|
|
@@ -49,4 +53,17 @@ declare function resolveConfigPath(configPath: string | undefined, toFileURL?: b
|
|
|
49
53
|
|
|
50
54
|
declare const parseData: (data: any) => any;
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
declare enum SubscriptionKind {
|
|
57
|
+
Event = "event",
|
|
58
|
+
Schema = "schema"
|
|
59
|
+
}
|
|
60
|
+
type SubscribableType = {
|
|
61
|
+
kind: SubscriptionKind.Event;
|
|
62
|
+
name?: string;
|
|
63
|
+
sender?: string;
|
|
64
|
+
} | {
|
|
65
|
+
kind: SubscriptionKind.Schema;
|
|
66
|
+
name?: string;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { BaseType, BaseValueType, DubheConfig, ErrorData, EventData, MoveType, SchemaData, SchemaType, StorageDataType, StorageMapType, SubscribableType, SubscriptionKind, formatAndWriteMove, formatAndWriteTypescript, formatMove, formatTypescript, loadConfig, parseData, posixPath, resolveConfigPath, schemaGen, storage };
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import v from"prettier";import Y from"prettier-plugin-move-js";async function C(e,t){let r;t&&(r=await v.resolveConfig(t));try{return v.format(e,{plugins:[Y],parser:"move-parse",printWidth:120,semi:!0,tabWidth:2,useTabs:!1,bracketSpacing:!0,...r})}catch(a){let o;return a instanceof Error?o=a.message:o=a,console.log(`Error during output formatting: ${o}`),e}}async function V(e){return v.format(e,{parser:"typescript"})}import y from"node:fs/promises";import E from"node:path";import R from"debug";var b=R("dubhe:common"),q=R("dubhe:common");b.log=console.debug.bind(console);q.log=console.error.bind(console);var $=b.extend("codegen"),P=b.extend("codegen");$.log=console.debug.bind(console);P.log=console.error.bind(console);async function i(e,t,r){let a=await C(e),o=` // Copyright (c) Obelisk Labs, Inc.
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
#[allow(unused_use)]
|
|
4
4
|
|
|
5
5
|
/* Autogenerated file. Do not edit manually. */
|
|
6
6
|
|
|
7
|
-
`,s="#[test_only]",o
|
|
7
|
+
`,s="#[test_only]",n=o+a,c="#[allow(lint(share_owned))]";t.includes(".toml")||t.includes("system")||t.includes("migrate")?n=a:t.includes("init")?n=s+a:t.includes("genesis")&&(n=c+a),await y.mkdir(E.dirname(t),{recursive:!0}),await y.writeFile(t,n),$(`${r}: ${t}`)}async function Ce(e,t,r){let a=await V(e);await y.mkdir(E.dirname(t),{recursive:!0}),await y.writeFile(t,a),$(`${r}: ${t}`)}function Re(e){return e.replace(/\\/g,"/")}import{existsSync as A}from"fs";import g from"fs";function x(e){g.existsSync(e)&&(g.readdirSync(e).forEach(t=>{let r=`${e}/${t}`;g.lstatSync(r).isDirectory()?x(r):g.unlinkSync(r)}),g.rmdirSync(e))}function f(e){return Object.entries(e).map(([t,r])=>`${t}`).join(",")}function U(e){return`(${Object.entries(e).map(([t,r])=>`${r}`)})`}function u(e){return Object.entries(e).map(([t,r])=>`${t}: ${r}`)}function W(e){return Object.entries(e).map(([t,r])=>`self.${t}`)}function O(e,t){for(let r in e)if(e.hasOwnProperty(r)){let a=e[r];if(typeof a=="string"&&a===t||typeof a=="string"&&a.includes(t)&&a.includes(">"))return!0}return!1}async function j(e,t){console.log(`
|
|
8
8
|
\u{1F4C4} Starting Move.toml Generation...`),console.log(` \u2514\u2500 Output path: ${t}/contracts/${e.name}/Move.toml`);let r=`[package]
|
|
9
9
|
name = "${e.name}"
|
|
10
10
|
version = "1.0.0"
|
|
@@ -17,50 +17,49 @@ Dubhe = { git = "https://github.com/0xobelisk/dubhe-framework.git", rev = "dubhe
|
|
|
17
17
|
[addresses]
|
|
18
18
|
sui = "0x2"
|
|
19
19
|
${e.name} = "0x0"
|
|
20
|
-
`;await
|
|
21
|
-
`)}function N(e){return e.sort((t,r)=>{let a=t.charAt(0).toLowerCase(),
|
|
20
|
+
`;await i(r,`${t}/contracts/${e.name}/Move.toml`,"formatAndWriteMove"),console.log(`\u2705 Move.toml Generation Complete
|
|
21
|
+
`)}function N(e){return e.sort((t,r)=>{let a=t.charAt(0).toLowerCase(),o=r.charAt(0).toLowerCase();return a<o?-1:a>o?1:0})}function ee(e,t){return Object.entries(t).map(([r,a])=>`public(package) fun set_${r}(self: &mut ${e}, ${r}: ${a}) {
|
|
22
22
|
self.${r} = ${r};
|
|
23
23
|
}`).join(`
|
|
24
24
|
`)}function te(e,t){return`public(package) fun set(self: &mut ${e}, ${u(t)}) {
|
|
25
25
|
${Object.entries(t).map(([r])=>`self.${r} = ${r};`).join(`
|
|
26
26
|
`)}
|
|
27
|
-
}`}function re(e,t){return`public fun get(self: &${e}): ${
|
|
28
|
-
(${
|
|
27
|
+
}`}function re(e,t){return`public fun get(self: &${e}): ${U(t)} {
|
|
28
|
+
(${W(t)})
|
|
29
29
|
}`}function ae(e,t){return Object.entries(t).map(([r,a])=>`public fun get_${r}(self: &${e}): ${a} {
|
|
30
30
|
self.${r}
|
|
31
31
|
}`).join(`
|
|
32
|
-
`)}function
|
|
33
|
-
\u{1F4E6} Starting Schema Data Generation...`);for(let a of Object.keys(t)){let
|
|
34
|
-
public enum ${
|
|
32
|
+
`)}function l(e){return e.replace(/([A-Z])/g,"_$1").toLowerCase().replace(/^_/,"")}async function F(e,t,r){console.log(`
|
|
33
|
+
\u{1F4E6} Starting Schema Data Generation...`);for(let a of Object.keys(t)){let o=a,s=t[a];console.log(` \u2514\u2500 ${o} ${Array.isArray(s)?"(enum)":"(struct)"}: ${JSON.stringify(s)}`);let n="",c=Object.keys(t).filter(p=>Array.isArray(t[p])).map(p=>p);if(Array.isArray(s)){let p=N(s);n=`module ${e}::${e}_${l(o)} {
|
|
34
|
+
public enum ${o} has copy, drop , store {
|
|
35
35
|
${p}
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
${p.map(
|
|
39
|
-
${
|
|
40
|
-
}`).join("")}`}else
|
|
38
|
+
${p.map(m=>`public fun new_${l(m)}(): ${o} {
|
|
39
|
+
${o}::${m}
|
|
40
|
+
}`).join("")}`}else n=`module ${e}::${e}_${l(o)} {
|
|
41
41
|
use std::ascii::String;
|
|
42
42
|
|
|
43
|
-
${Object.keys(t).map(p=>{if(
|
|
43
|
+
${Object.keys(t).map(p=>{if(O(s,p))return`use ${e}::${e}_${l(p)}::${p};`}).filter(Boolean).join(`
|
|
44
44
|
`)}
|
|
45
45
|
|
|
46
|
-
public struct ${
|
|
46
|
+
public struct ${o} has copy, drop , store {
|
|
47
47
|
${u(s)}
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
public fun new(${u(s)}): ${
|
|
51
|
-
${
|
|
50
|
+
public fun new(${u(s)}): ${o} {
|
|
51
|
+
${o} {
|
|
52
52
|
${f(s)}
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
${re(
|
|
57
|
-
${ae(
|
|
58
|
-
${ee(
|
|
59
|
-
${te(
|
|
60
|
-
}`;await
|
|
61
|
-
`)}function
|
|
62
|
-
|
|
63
|
-
\u{1F528} Starting Schema Structure Generation...`),console.log(` \u251C\u2500 Output path: ${a}/contracts/${e}/sources/codegen/schema.move`),console.log(` \u2514\u2500 Structure fields: ${Object.values(r).length}`);let n=`module ${e}::${e}_schema {
|
|
56
|
+
${re(o,s)}
|
|
57
|
+
${ae(o,s)}
|
|
58
|
+
${ee(o,s)}
|
|
59
|
+
${te(o,s)}
|
|
60
|
+
}`;await i(n,`${r}/contracts/${e}/sources/codegen/data/${l(o)}.move`,"formatAndWriteMove")}}function se(e,t){return t!=null?Object.keys(t).map(a=>`use ${e}::${e}_${l(a)}::${a};`).join(`
|
|
61
|
+
`):""}async function w(e,t,r,a){console.log(`
|
|
62
|
+
\u{1F528} Starting Schema Structure Generation...`),Object.entries(r).forEach(([s,n])=>{console.log(` \u2514\u2500 ${s}: ${n}`)});let o=`module ${e}::${e}_schema {
|
|
64
63
|
use std::ascii::String;
|
|
65
64
|
use std::ascii::string;
|
|
66
65
|
use sui::package::UpgradeCap;
|
|
@@ -75,11 +74,11 @@ ${e.name} = "0x0"
|
|
|
75
74
|
|
|
76
75
|
public struct Schema has key, store { id: UID }
|
|
77
76
|
|
|
78
|
-
${Object.entries(r).map(([s,
|
|
77
|
+
${Object.entries(r).map(([s,n])=>`public fun borrow_${s}(self: &Schema) : &${n} {
|
|
79
78
|
storage::borrow_field(&self.id, b"${s}")
|
|
80
79
|
}
|
|
81
80
|
|
|
82
|
-
public(package) fun ${s}(self: &mut Schema): &mut ${
|
|
81
|
+
public(package) fun ${s}(self: &mut Schema): &mut ${n} {
|
|
83
82
|
storage::borrow_mut_field(&mut self.id, b"${s}")
|
|
84
83
|
}
|
|
85
84
|
`).join("")}
|
|
@@ -87,7 +86,7 @@ ${e.name} = "0x0"
|
|
|
87
86
|
|
|
88
87
|
public(package) fun create(ctx: &mut TxContext): Schema {
|
|
89
88
|
let mut id = object::new(ctx);
|
|
90
|
-
${Object.entries(r).map(([s,
|
|
89
|
+
${Object.entries(r).map(([s,n])=>{let c="";return n.includes("StorageValue")?c=`storage_value::new(b"${s}", ctx)`:n.includes("StorageMap")?c=`storage_map::new(b"${s}", ctx)`:n.includes("StorageDoubleMap")&&(c=`storage_double_map::new(b"${s}", ctx)`),`storage::add_field<${n}>(&mut id, b"${s}", ${c});`}).join(`
|
|
91
90
|
`)}
|
|
92
91
|
|
|
93
92
|
Schema { id }
|
|
@@ -105,71 +104,64 @@ ${e.name} = "0x0"
|
|
|
105
104
|
|
|
106
105
|
|
|
107
106
|
// ======================================== View Functions ========================================
|
|
108
|
-
${Object.entries(r).map(([s,
|
|
107
|
+
${Object.entries(r).map(([s,n])=>{let c=n.match(/<(.+)>/)[1].split(",").map(X=>X.trim()),p=[],m="",_="";return n.includes("StorageValue")?(p=[],m=`${c[0]}`,_="get()"):n.includes("StorageMap")?(p=[`key: ${c[0]}`],m=`${c[1]}`,_="get(key)"):n.includes("StorageDoubleMap")&&(p=[`key1: ${c[0]}`,`key2: ${c[1]}`],m=`${c[2]}`,_="get(key1, key2)"),`public fun get_${s}(self: &Schema, ${p}) : &${m} {
|
|
109
108
|
self.borrow_${s}().${_}
|
|
110
109
|
}`}).join(`
|
|
111
110
|
`)}
|
|
112
111
|
// =========================================================================================================
|
|
113
|
-
}`;await
|
|
114
|
-
`)}import{existsSync as U}from"fs";async function F(e,t){console.log(`
|
|
115
|
-
\u{1F4DD} Starting Deploy Hook Generation...`),console.log(` \u2514\u2500 Output path: ${t}/contracts/${e.name}/sources/scripts/deploy_hook.move`);let r=`${t}/contracts/${e.name}/sources/scripts/deploy_hook.move`;if(!U(r)){let a=`module ${e.name}::${e.name}_deploy_hook {
|
|
112
|
+
}`;await i(o,`${a}/contracts/${e}/sources/codegen/schema.move`,"formatAndWriteMove")}import{existsSync as L}from"fs";async function B(e,t){let r=`${t}/contracts/${e.name}/sources/scripts/deploy_hook.move`;if(!L(r)){let a=`module ${e.name}::${e.name}_deploy_hook {
|
|
116
113
|
use ${e.name}::${e.name}_schema::Schema;
|
|
117
114
|
|
|
118
115
|
public(package) fun run(_schema: &mut Schema, _ctx: &mut TxContext) {
|
|
119
116
|
|
|
120
117
|
}
|
|
121
|
-
}`;await
|
|
122
|
-
`)}async function I(e,t){if(!U(`${t}/contracts/${e.name}/sources/scripts/migrate.move`)){let r=`module ${e.name}::${e.name}_migrate {
|
|
118
|
+
}`;await i(a,r,"formatAndWriteMove")}}async function I(e,t){if(!L(`${t}/contracts/${e.name}/sources/scripts/migrate.move`)){let r=`module ${e.name}::${e.name}_migrate {
|
|
123
119
|
const ON_CHAIN_VERSION: u32 = 1;
|
|
124
120
|
|
|
125
121
|
public fun on_chain_version(): u32 {
|
|
126
122
|
ON_CHAIN_VERSION
|
|
127
123
|
}
|
|
128
124
|
}
|
|
129
|
-
`;await
|
|
125
|
+
`;await i(r,`${t}/contracts/${e.name}/sources/scripts/migrate.move`,"formatAndWriteMove")}}function d(e){return e.split("_").map(t=>t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()).join("")}function ne(e){return e.replace(/([A-Z])/g,"_$1").toLowerCase().replace(/^_/,"")}function K(e,t){return t!=null?Object.keys(t).map(a=>`use ${e}::${e}_${ne(a)}::${a};`).join(`
|
|
130
126
|
`):""}async function D(e,t,r,a){console.log(`
|
|
131
|
-
\u{1F4E6} Starting Schema Event Generation...`);for(let s of Object.keys(r)){let
|
|
127
|
+
\u{1F4E6} Starting Schema Event Generation...`);for(let s of Object.keys(r)){let n=s,c=r[s];console.log(` \u2514\u2500 ${n} event: ${JSON.stringify(c)}`);let p=`module ${e}::${e}_${n}_event {
|
|
132
128
|
use sui::event;
|
|
133
129
|
use std::ascii::String;
|
|
134
|
-
${
|
|
130
|
+
${K(e,t)}
|
|
135
131
|
|
|
136
|
-
public struct ${
|
|
137
|
-
${u(
|
|
132
|
+
public struct ${d(n)}Event has copy, drop {
|
|
133
|
+
${u(c)}
|
|
138
134
|
}
|
|
139
135
|
|
|
140
|
-
public fun new(${u(
|
|
141
|
-
${
|
|
142
|
-
${f(
|
|
136
|
+
public fun new(${u(c)}): ${d(n)}Event {
|
|
137
|
+
${d(n)}Event {
|
|
138
|
+
${f(c)}
|
|
143
139
|
}
|
|
144
140
|
}
|
|
145
|
-
}`;await
|
|
141
|
+
}`;await i(p,`${a}/contracts/${e}/sources/codegen/data/${n}_event.move`,"formatAndWriteMove")}let o=`module ${e}::${e}_events {
|
|
146
142
|
use std::ascii::{String, string};
|
|
147
|
-
${
|
|
148
|
-
${Object.entries(r).map(([s,
|
|
149
|
-
use ${e}::${e}_${
|
|
150
|
-
use ${e}::${e}_${
|
|
151
|
-
public fun ${
|
|
152
|
-
dubhe::storage_event::emit_set_record<${s}Event, ${s}Event, ${s}Event>(
|
|
153
|
-
string(b"${
|
|
143
|
+
${K(e,t)}
|
|
144
|
+
${Object.entries(r).map(([s,n])=>`
|
|
145
|
+
use ${e}::${e}_${s}_event::${d(s)}Event;
|
|
146
|
+
use ${e}::${e}_${s}_event;
|
|
147
|
+
public fun ${s}_event(${u(n)}) {
|
|
148
|
+
dubhe::storage_event::emit_set_record<${d(s)}Event, ${d(s)}Event, ${d(s)}Event>(
|
|
149
|
+
string(b"${s}_event"),
|
|
154
150
|
option::none(),
|
|
155
151
|
option::none(),
|
|
156
|
-
option::some(${e}_${
|
|
152
|
+
option::some(${e}_${s}_event::new(${f(n)}))
|
|
157
153
|
)
|
|
158
154
|
}
|
|
159
155
|
`).join(`
|
|
160
156
|
`)}
|
|
161
|
-
}`;await
|
|
162
|
-
`)}import{existsSync as ne}from"fs";import oe from"node:fs/promises";async function z(e,t){console.log(`
|
|
163
|
-
\u2699\uFE0F Starting System Generation...`),console.log(" \u251C\u2500 Generating systems"),console.log(` \u2514\u2500 Output path: ${t}/contracts/${e.name}/sources/systems`),ne(`${t}/contracts/${e.name}/sources/systems`)||await oe.mkdir(`${t}/contracts/${e.name}/sources/systems`,{recursive:!0}),console.log(`\u2705 System Generation Complete
|
|
164
|
-
`)}function ie(e){return e.replace(/([A-Z])/g,"_$1").toLowerCase().replace(/^_/,"")}async function H(e,t,r){console.log(`
|
|
157
|
+
}`;await i(o,`${a}/contracts/${e}/sources/codegen/events.move`,"formatAndWriteMove")}import{existsSync as oe}from"fs";import ie from"node:fs/promises";async function G(e,t){oe(`${t}/contracts/${e.name}/sources/systems`)||await ie.mkdir(`${t}/contracts/${e.name}/sources/systems`,{recursive:!0})}async function z(e,t,r){console.log(`
|
|
165
158
|
\u{1F4E6} Starting Schema Error Generation...`);let a=`module ${e}::${e}_errors {
|
|
166
|
-
${Object.entries(t).map(([
|
|
167
|
-
const ${
|
|
168
|
-
public fun ${
|
|
159
|
+
${Object.entries(t).map(([o,s])=>(console.log(` \u2514\u2500 ${o}: ${s}`),`#[error]
|
|
160
|
+
const ${o.toUpperCase()}: vector<u8> = b"${s}";
|
|
161
|
+
public fun ${o}_error(condition: bool) { assert!(condition, ${o.toUpperCase()}) }
|
|
169
162
|
`)).join(`
|
|
170
163
|
`)}
|
|
171
|
-
}`;await
|
|
172
|
-
`)}import{existsSync as k}from"fs";async function K(e,t){await ce(e,t),await pe(e,t),await ue(e,t)}async function ce(e,t){let r=`${t}/contracts/${e.name}/sources/codegen/dapp/metadata.move`;if(!k(r)){let a=`module ${e.name}::${e.name}_dapp_metadata {
|
|
164
|
+
}`;await i(a,`${r}/contracts/${e}/sources/codegen/errors.move`,"formatAndWriteMove")}import{existsSync as k}from"fs";async function H(e,t){await ce(e,t),await pe(e,t),await ue(e,t)}async function ce(e,t){let r=`${t}/contracts/${e.name}/sources/codegen/dapp/metadata.move`;if(!k(r)){let a=`module ${e.name}::${e.name}_dapp_metadata {
|
|
173
165
|
use std::ascii::String;
|
|
174
166
|
|
|
175
167
|
public struct DappMetadata has drop, copy, store {
|
|
@@ -265,7 +257,7 @@ use ${e}::${e}_${m(s)}_event;
|
|
|
265
257
|
}
|
|
266
258
|
|
|
267
259
|
}
|
|
268
|
-
`;await
|
|
260
|
+
`;await i(a,r,"formatAndWriteMove")}}async function pe(e,t){let r=`${t}/contracts/${e.name}/sources/codegen/dapp/schema.move`;if(!k(r)){let a=`module ${e.name}::${e.name}_dapp_schema {
|
|
269
261
|
use ${e.name}::${e.name}_dapp_metadata::DappMetadata;
|
|
270
262
|
use dubhe::storage_value;
|
|
271
263
|
use dubhe::storage_value::StorageValue;
|
|
@@ -366,7 +358,7 @@ use ${e}::${e}_${m(s)}_event;
|
|
|
366
358
|
id.delete();
|
|
367
359
|
}
|
|
368
360
|
}
|
|
369
|
-
`;await
|
|
361
|
+
`;await i(a,r,"formatAndWriteMove")}}async function ue(e,t){let r=`${t}/contracts/${e.name}/sources/codegen/dapp/system.move`;if(!k(r)){let a=`module ${e.name}::${e.name}_dapp_system {
|
|
370
362
|
use std::ascii::String;
|
|
371
363
|
use std::ascii;
|
|
372
364
|
use dubhe::type_info;
|
|
@@ -453,8 +445,7 @@ use ${e}::${e}_${m(s)}_event;
|
|
|
453
445
|
}
|
|
454
446
|
|
|
455
447
|
|
|
456
|
-
`;await
|
|
457
|
-
\u{1F4DD} Starting Init Generation...`),console.log(` \u2514\u2500 Output path: ${t}/contracts/${e.name}/sources/tests/init.move`);let r=`module ${e.name}::${e.name}_init_test {
|
|
448
|
+
`;await i(a,r,"formatAndWriteMove")}}async function Q(e,t){let r=`module ${e.name}::${e.name}_init_test {
|
|
458
449
|
use ${e.name}::${e.name}_dapp_schema::Dapp;
|
|
459
450
|
use sui::clock;
|
|
460
451
|
use sui::test_scenario;
|
|
@@ -471,7 +462,7 @@ use ${e}::${e}_${m(s)}_event;
|
|
|
471
462
|
(scenario, dapp)
|
|
472
463
|
}
|
|
473
464
|
}
|
|
474
|
-
`;await
|
|
465
|
+
`;await i(r,`${t}/contracts/${e.name}/sources/tests/init.move`,"formatAndWriteMove");let a=`module ${e.name}::${e.name}_genesis {
|
|
475
466
|
use std::ascii::string;
|
|
476
467
|
|
|
477
468
|
use sui::clock::Clock;
|
|
@@ -490,8 +481,8 @@ use ${e}::${e}_${m(s)}_event;
|
|
|
490
481
|
sui::transfer::public_share_object(dapp);
|
|
491
482
|
}
|
|
492
483
|
}
|
|
493
|
-
`;await
|
|
494
|
-
|
|
495
|
-
\
|
|
496
|
-
`)}import{findUp as me}from"find-up";import
|
|
484
|
+
`;await i(a,`${t}/contracts/${e.name}/sources/codegen/genesis.move`,"formatAndWriteMove")}async function _t(e,t,r){console.log(`
|
|
485
|
+
\u{1F680} Starting Schema Generation Process...`),console.log("\u{1F4CB} Project Configuration:"),console.log(` \u2514\u2500 Name: ${e.name}`),console.log(` \u2514\u2500 Description: ${e.description||"No description provided"}`),console.log(` \u2514\u2500 Network: ${r||"testnet"}`);let a=t??process.cwd();A(`${a}/contracts/${e.name}`)&&x(`${a}/contracts/${e.name}/sources/codegen`),A(`${a}/contracts/${e.name}/Move.toml`)||await j(e,a),A(`${a}/contracts/${e.name}/sources/script/deploy_hook.move`)||await B(e,a),e.events&&(e.data?await D(e.name,e.data,e.events,a):await D(e.name,null,e.events,a)),e.data?(await F(e.name,e.data,a),await w(e.name,e.data,e.schemas,a)):await w(e.name,null,e.schemas,a),e.errors&&await z(e.name,e.errors,a),await H(e,a),await Q(e,a),await G(e,a),await I(e,a),console.log(`
|
|
486
|
+
\u2705 Schema Generation Process Complete!
|
|
487
|
+
`)}import{findUp as me}from"find-up";import T from"path";import de from"esbuild";var h=class extends Error{name="NotInsideProjectError";message="You are not inside a Dubhe project"};import{rmSync as le}from"fs";import{pathToFileURL as ge}from"url";import fe from"os";var _e=["dubhe.config.js","dubhe.config.mjs","dubhe.config.ts","dubhe.config.mts"],M="dubhe.config.example.mjs";async function kt(e){e=await Z(e);try{return await de.build({entryPoints:[e],format:"esm",outfile:M,platform:"node",bundle:!0,packages:"external"}),e=await Z(M,!0),(await import(e+`?update=${Date.now()}`)).dubheConfig}finally{le(M,{force:!0})}}async function Z(e,t){return e===void 0?e=await be():T.isAbsolute(e)||(e=T.join(process.cwd(),e),e=T.normalize(e)),t&&fe.platform()==="win32"?ge(e).href:e}async function be(){let e=await me(_e);if(e===void 0)throw new h;return e}function Ut(...e){if(e.length===1)return`StorageValue<${e[0]}>`;if(e.length===2)return`StorageMap<${e[0]}, ${e[1]}>`;if(e.length===3)return`StorageDoubleMap<${e[0]}, ${e[1]}, ${e[2]}>`;throw new Error("Invalid number of arguments for storage()")}var S=e=>{if(typeof e!="object"||e===null)return e;let t={};for(let r in e)if(e.hasOwnProperty(r)){let a=e[r];typeof a=="object"&&a!==null?Array.isArray(a)?t[r]=J(a):a.hasOwnProperty("variant")?t[r]={[a.variant]:{}}:a.hasOwnProperty("fields")?t[r]=S(a.fields):t[r]=S(a):t[r]=a}return t},J=e=>{let t=[];return e.forEach(r=>{typeof r=="object"&&r!==null?Array.isArray(r)?t.push(J(r)):r.hasOwnProperty("variant")?t.push({[r.variant]:{}}):r.hasOwnProperty("fields")?t.push(S(r.fields)):t.push(S(r)):t.push(r)}),t};var $e=(r=>(r.Event="event",r.Schema="schema",r))($e||{});export{$e as SubscriptionKind,i as formatAndWriteMove,Ce as formatAndWriteTypescript,C as formatMove,V as formatTypescript,kt as loadConfig,S as parseData,Re as posixPath,Z as resolveConfigPath,_t as schemaGen,Ut as storage};
|
|
497
488
|
//# sourceMappingURL=index.js.map
|