-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.rs
More file actions
214 lines (195 loc) · 10.4 KB
/
main.rs
File metadata and controls
214 lines (195 loc) · 10.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
use lib::terminal::{
output_manager,
questionary,
MenuAction,
};
use lib::models::{
Question,
Macro,
ValidMultiplier,
ValidScore
};
use lib::outputs::create_document;
/*
ICO Evaluation Framework: Macro Areas and Questions Overview
1. Idea:
- Evaluates the novelty, necessity, and economic impact of the ICO's core concept.
- Questions include:
* What problem is the ICO trying to solve? Is it significant and meaningful?
* Does the market already exist for this product, or does it need to be created?
* Is the problem being addressed something that is currently handled by a layer of unnecessary complexity or middlemen?
* What unique solution does the ICO propose? Is this solution a significant improvement on existing alternatives?
* Is the idea scalable and capable of achieving wide adoption?
2. Technology:
- Assesses the technical feasibility, innovation, and scalability of the technology used.
- Questions include:
* Is the technological solution proposed by the ICO feasible and currently available?
* Does the ICO's technology offer a substantial improvement over existing technology?
* How does the ICO handle data security and privacy concerns?
* Is the underlying technology behind the ICO robust and scalable?
* What are the potential technical challenges the ICO might face, and how does it plan to address them?
3. Blockchain Specifics:
- Examines the choice of blockchain, token economics, and alignment with project needs.
- Questions include:
* What blockchain platform is being used, and why was it chosen?
* Is there a genuine need for blockchain technology in this ICO, or could the problem be solved using traditional technology?
* Does the ICO introduce a new token, and what is its utility within the ecosystem?
* How does the tokenomics structure impact the potential for long-term sustainability?
* Are there any innovative blockchain features, such as smart contracts or decentralized applications, being utilized?
4. Team:
- Reviews the experience, expertise, and reliability of the team behind the ICO.
- Questions include:
* What are the backgrounds and previous experiences of the team members?
* Does the team have a proven track record in similar ventures or in the blockchain industry?
* How is the team's expertise relevant to the success of the project?
* Are there any advisors, and what roles do they play in the project?
* How does the team plan to grow, and what strategies are in place for scaling up?
5. Execution:
- Considers the operational strategy, legal compliance, and financial planning of the ICO.
- Questions include:
* What is the roadmap for the ICO, and what milestones have already been achieved?
* How does the ICO plan to use the funds raised?
* Are there clear marketing and outreach strategies in place?
* How does the ICO plan to handle regulatory and legal issues?
* What are the risks associated with the ICO, and how does it plan to mitigate them?
6. Market Potential:
- Analyzes the market demand, competition, and growth potential of the ICO.
- Questions include:
* Is the idea scalable? What is a realistic share of the market?
* Is there positive convexity to apply a similar idea in related applications?
*/
mod score_math {
use super::*;
pub fn weighted_summation(areas : &Vec<Macro>) -> i16 {
/*
Multiply the area's Macro's ValidMultiplier value
by the summation of the ValidScore values in the micros vector
Return then the summation of the Macro's moltiplications
Normalized with the _abslt_score
*/
let mut w_summation: i16 = 0;
for a in areas.iter() {
let mut summation: i16 = 0;
for q in a.questions.iter(){
summation += q.score.unwrap_or(ValidScore::Zero) as i16;
}
summation *= a.weight.unwrap_or(ValidMultiplier::One) as i16;
w_summation += summation;
}
w_summation
}
pub fn to_normalize(score_x: i16) -> u8 {
let abslt_score: i32 = 405; //±405
(((score_x as i32 + abslt_score) * 100) / (abslt_score * 2)) as u8
}
}
fn main() {
let mut assesment: Vec<Macro> = vec![
Macro::new(
"Idea".to_uppercase().to_string(),
"Description: Evaluates the novelty, necessity, and economic impact of the ICO's core concept.".to_string(),
vec![
Question::new("What problem is the ICO trying to solve? Is it significant and meaningful?".to_string()),
Question::new("Does the market already exist for this product, or does it need to be created?".to_string()),
Question::new("Is the problem being addressed something that is currently handled by a layer of unnecessary complexity or middlemen?".to_string()),
Question::new("What unique solution does the ICO propose? Is this solution a significant improvement on existing alternatives?".to_string()),
Question::new("Is the underlying technology behind the ICO robust and scalable?".to_string()),
]
),
Macro::new(
"Technology".to_uppercase().to_string(),
"Description: Assesses the technical feasibility, innovation, and scalability of the technology used.".to_string(),
vec![
Question::new("Is the technological solution proposed by the ICO feasible and currently available?".to_string()),
Question::new("Does the ICO's technology offer a substantial improvement over existing technology?".to_string()),
Question::new("How does the ICO handle data security and privacy concerns?".to_string()),
Question::new("Is the underlying technology behind the ICO robust and scalable?".to_string()),
Question::new("What are the potential technical challenges the ICO might face, and how does it plan to address them?".to_string()),
]
),
Macro::new(
"Blockchain Specifics".to_uppercase().to_string(),
"Description: Examines the choice of blockchain, token economics, and alignment with project needs.".to_string(),
vec![
Question::new("What blockchain platform is being used, and why was it chosen?".to_string()),
Question::new("Is there a genuine need for blockchain technology in this ICO, or could the problem be solved using traditional technology?".to_string()),
Question::new("Does the ICO introduce a new token, and what is its utility within the ecosystem?".to_string()),
Question::new("How does the tokenomics structure impact the potential for long-term sustainability?".to_string()),
Question::new("Are there any innovative blockchain features, such as smart contracts or decentralized applications, being utilized?".to_string()),
]
),
Macro::new(
"Team".to_uppercase().to_string(),
"Description: Reviews the experience, expertise, and reliability of the team behind the ICO.".to_string(),
vec![
Question::new("What are the backgrounds and previous experiences of the team members?".to_string()),
Question::new("Does the team have a proven track record in similar ventures or in the blockchain industry?".to_string()),
Question::new("How is the team's expertise relevant to the success of the project?".to_string()),
Question::new("Are there any advisors, and what roles do they play in the project?".to_string()),
Question::new("How does the team plan to grow, and what strategies are in place for scaling up?".to_string()),
]
),
Macro::new(
"Execution".to_uppercase().to_string(),
"Description: Considers the operational strategy, legal compliance, and financial planning of the ICO.".to_string(),
vec![
Question::new("What is the roadmap for the ICO, and what milestones have already been achieved?".to_string()),
Question::new("How does the ICO plan to use the funds raised?".to_string()),
Question::new("Are there clear marketing and outreach strategies in place?".to_string()),
Question::new("How does the ICO plan to handle regulatory and legal issues?".to_string()),
Question::new("What are the risks associated with the ICO, and how does it plan to mitigate them?".to_string()),
]
),
Macro::new(
"Market Potential".to_uppercase().to_string(),
"Description: Analyzes the market demand, competition, and growth potential of the ICO.".to_string(),
vec![
Question::new("Is the idea scalable? What is a realistic share of the market?".to_string()),
Question::new("Is there positive convexity to apply a similar idea in related applications?".to_string()),
]
),
];
match output_manager::welcome() {
Ok(_) => (),
Err(e) => {
eprintln!("Error: {}", e);
return;
}
}
match output_manager::menu() {
Ok(MenuAction::Exit) => return,
Ok(MenuAction::Start) => {
// Directly updates assesment
match questionary::display(&mut assesment) {
Ok(_) => (),
Err(e) => {
eprintln!("Error: {}", e);
return;
}
}
match output_manager::ask_document() {
None => (),
Some(ico) => {
create_document::start(
ico,
score_math::weighted_summation(&assesment),
score_math::to_normalize(
score_math::weighted_summation(&assesment)
), //investment_suitability_value
assesment,)
},
}
match output_manager::quit_message() {
Ok(_) => (),
Err(e) => {
eprintln!("Error: {}", e);
return;
}
}
},
Err(e) => {
eprintln!("Error: {}", e);
return;
}
}
}