forked from qubic/qubic-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnostromo.h
More file actions
332 lines (273 loc) · 8.77 KB
/
nostromo.h
File metadata and controls
332 lines (273 loc) · 8.77 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
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
#pragma once
#include "structs.h"
struct projectInfo
{
uint8_t creator[32];
uint64_t tokenName;
uint64_t supplyOfToken;
uint32_t startDate;
uint32_t endDate;
uint32_t numberOfYes;
uint32_t numberOfNo;
bool isCreatedFundarasing;
};
struct fundraisingInfo
{
uint64_t tokenPrice;
uint64_t soldAmount;
uint64_t requiredFunds;
uint64_t raisedFunds;
uint32_t indexOfProject;
uint32_t firstPhaseStartDate;
uint32_t firstPhaseEndDate;
uint32_t secondPhaseStartDate;
uint32_t secondPhaseEndDate;
uint32_t thirdPhaseStartDate;
uint32_t thirdPhaseEndDate;
uint32_t listingStartDate;
uint32_t cliffEndDate;
uint32_t vestingEndDate;
uint8_t threshold;
uint8_t TGE;
uint8_t stepOfVesting;
bool isCreatedToken;
};
struct NOSTROMOGetStats_input
{
};
struct NOSTROMOGetStats_output
{
uint64_t epochRevenue, totalPoolWeight;
uint32_t numberOfRegister, numberOfCreatedProject, numberOfFundraising;
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOGetTierLevelByUser_input
{
uint8_t userId[32];
};
struct NOSTROMOGetTierLevelByUser_output
{
uint8_t tierLevel;
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOGetUserVoteStatus_input
{
uint8_t userId[32];
};
struct NOSTROMOGetUserVoteStatus_output
{
uint32_t numberOfVotedProjects;
uint32_t projectIndexList[128];
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOCheckTokenCreatability_input
{
uint64_t tokenName;
};
struct NOSTROMOCheckTokenCreatability_output
{
bool result; // result = 1 is the token already issued by SC
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOGetNumberOfInvestedProjects_input
{
uint8_t userId[32];
};
struct NOSTROMOGetNumberOfInvestedProjects_output
{
uint32_t numberOfInvestedProjects;
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOGetProjectByIndex_input
{
uint32_t indexOfProject;
};
struct NOSTROMOGetProjectByIndex_output
{
projectInfo project;
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOGetFundarasingByIndex_input
{
uint32_t indexOfFundarasing;
};
struct NOSTROMOGetFundarasingByIndex_output
{
fundraisingInfo fundarasing;
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOGetProjectIndexListByCreator_input
{
uint8_t creator[32];
};
struct NOSTROMOGetProjectIndexListByCreator_output
{
uint32_t indexListForProjects[128];
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct investInfo
{
uint64_t investedAmount;
uint64_t claimedAmount;
uint32_t indexOfFundraising;
};
struct NOSTROMOGetInfoUserInvested_input
{
uint8_t investorId[32];
};
struct NOSTROMOGetInfoUserInvested_output
{
investInfo listUserInvested[128];
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
struct NOSTROMOGetMaxClaimAmount_input
{
uint8_t investorId[32];
uint32_t indexOfFundraising;
};
struct NOSTROMOGetMaxClaimAmount_output
{
uint64_t amount;
static constexpr unsigned char type()
{
return RespondContractFunction::type();
}
};
void registerInTier(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
uint32_t tierLevel);
void logoutFromTier(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset);
void createProject(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
const char* tokenName,
uint64_t supply,
uint32_t startYear,
uint32_t startMonth,
uint32_t startDay,
uint32_t startHour,
uint32_t endYear,
uint32_t endMonth,
uint32_t endDay,
uint32_t endHour);
void voteInProject(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
uint32_t indexOfProject,
bool decision);
void createFundraising(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
uint64_t tokenPrice,
uint64_t soldAmount,
uint64_t requiredFunds,
uint32_t indexOfProject,
uint32_t firstPhaseStartYear,
uint32_t firstPhaseStartMonth,
uint32_t firstPhaseStartDay,
uint32_t firstPhaseStartHour,
uint32_t firstPhaseEndYear,
uint32_t firstPhaseEndMonth,
uint32_t firstPhaseEndDay,
uint32_t firstPhaseEndHour,
uint32_t secondPhaseStartYear,
uint32_t secondPhaseStartMonth,
uint32_t secondPhaseStartDay,
uint32_t secondPhaseStartHour,
uint32_t secondPhaseEndYear,
uint32_t secondPhaseEndMonth,
uint32_t secondPhaseEndDay,
uint32_t secondPhaseEndHour,
uint32_t thirdPhaseStartYear,
uint32_t thirdPhaseStartMonth,
uint32_t thirdPhaseStartDay,
uint32_t thirdPhaseStartHour,
uint32_t thirdPhaseEndYear,
uint32_t thirdPhaseEndMonth,
uint32_t thirdPhaseEndDay,
uint32_t thirdPhaseEndHour,
uint32_t listingStartYear,
uint32_t listingStartMonth,
uint32_t listingStartDay,
uint32_t listingStartHour,
uint32_t cliffEndYear,
uint32_t cliffEndMonth,
uint32_t cliffEndDay,
uint32_t cliffEndHour,
uint32_t vestingEndYear,
uint32_t vestingEndMonth,
uint32_t vestingEndDay,
uint32_t vestingEndHour,
uint8_t threshold,
uint8_t TGE,
uint8_t stepOfVesting);
void investInProject(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
uint32_t indexOfFundraising, uint64_t amount);
void claimToken(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
uint64_t amount,
uint32_t indexOfFundraising);
void upgradeTierLevel(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
uint32_t tierLevel);
void nostromoTransferShareManagementRights(const char* nodeIp, int nodePort,
const char* seed,
uint32_t scheduledTickOffset,
const char* issuer,
const char* assetName,
int64_t numberOfShares,
uint32_t newManagingContractIndex);
void getStats(const char* nodeIp, int nodePort);
void getTierLevelByUser(const char* nodeIp, int nodePort,
const char* userId);
void getUserVoteStatus(const char* nodeIp, int nodePort,
const char* userId);
void checkTokenCreatability(const char* nodeIp, int nodePort,
const char* tokenName);
void getNumberOfInvestedProjects(const char* nodeIp, int nodePort,
const char* userId);
void getProjectByIndex(const char* nodeIp, int nodePort,
uint32_t indexOfProject);
void getFundarasingByIndex(const char* nodeIp, int nodePort,
uint32_t indexOfFundarasing);
void getProjectIndexListByCreator(const char* nodeIp, int nodePort,
const char* creator);
void getInfoUserInvested(const char* nodeIp, int nodePort,
const char* invsetorId);
void getMaxClaimAmount(const char* nodeIp, int nodePort,
const char* invsetorId,
uint32_t indexOfFundarasing);