-
Notifications
You must be signed in to change notification settings - Fork 15
/
ensuite.yml
439 lines (400 loc) · 25.7 KB
/
ensuite.yml
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
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
coverage:
exclude:
- "**/*/coverage/**/*"
- "*/coverage/**/*"
- "coverage/**/*"
- "**/*.dist.*"
- "*/*.dist.*"
- "*.dist.*"
- "*/*.test.*"
- "*.test.*"
- "*/*.cli.cjs"
- "*.cli.cjs"
- "dist/**/*"
- "docs"
- "*/docs"
- "examples/**/*"
- "fadroma.browser.ts"
- "fadroma.cli.cjs"
- "fixtures/**/*"
- "toolbox/**/*"
- "typedoc-theme.tsx"
- "packages/agent/test.ts"
- "packages/cosmjs-esm"
- "packages/secretjs-esm"
- "packages/devnet/devnet.init.mjs"
- "packages/schema"
- "packages/shim/**/*"
header:
title: Fadroma
link: /
links:
- text: Homepage
href: /
- text: Documentation
href: /guide.html
- text: Github
href: https://github.com/hackbg/fadroma
- text: Crates.io
href: https://crates.io/search?q=fadroma
- text: NPM
href: https://www.npmjs.com/search?q=fadroma
- text: Hack.bg
href: https://hack.bg/
sidebar:
links:
- href: /guide.html
text: Getting started
- href: /project.html
text: Projects
- href: /agent.html
text: Agent API
- href: /scrt.html
text: Secret Network
- href: /dsl.html
text: Macro DSL
- href: /build.html
text: Building
- href: /upload.html
text: Uploading
- href: /deploy.html
text: Deploy API
- href: /factory.html
text: Factories
- href: /devnet.html
text: Devnets
- href: /mocknet.html
text: Mocknets
- href: /impl.html
text: Supporting new chains
routes:
- { path: /index.html, page: index.pug, name: Fadroma }
- { path: /guide.html, page: GUIDE.ts.md, name: Getting started }
- { path: /dsl.html, page: proc/fadroma-dsl/README.md, name: Macro DSL }
- { path: /agent.html, page: agent/README.md, name: Agent }
- { path: /build.html, page: compile/README.md, name: Building }
- { path: /devnet.html, page: devnet/README.md, name: Devnet }
- { path: /project.html, page: create/README.md, name: Project }
- { path: /scrt.html, page: scrt/README.md, name: Secret Network }
- { path: /cw.html, page: cw/README.md, name: CosmWasm }
- { path: /schema.html, page: schema/schema.pug, name: CosmWasm Schema Tool }
styles:
- assets/fonts.css
- toolbox/ensuite/node_modules/highlight.js/styles/school-book.css
- assets/style.css
icons: # Icons as inline svg paths, see https://icomoon.io/#docs/inline-svg
- id: book
title: Documentation
viewBox: 0 0 32 32
path: M16 6c0 0-4-4-16-4v24c12.125 0 16 4 16 4s3.875-4 16-4v-24c-12 0-16 4-16 4zM4 6c5.084 0.426 8.203 1.602 10 2.555v16.109c-1.797-0.949-4.916-2.125-10-2.555v-16.109zM28 22.109c-5.086 0.43-8.203 1.604-10 2.555v-16.109c1.797-0.953 4.914-2.129 10-2.555v16.109z
- id: typescript
title: TypeScript
viewBox: 0 0 32 32
path: M0 16v16h32v-32h-32zM25.788 14.725c0.813 0.203 1.432 0.564 2.001 1.153 0.295 0.315 0.732 0.888 0.767 1.027 0.011 0.040-1.381 0.973-2.224 1.497-0.031 0.020-0.153-0.112-0.289-0.315-0.413-0.6-0.844-0.859-1.504-0.904-0.971-0.067-1.595 0.441-1.589 1.289-0.001 0.015-0.001 0.032-0.001 0.050 0 0.201 0.051 0.391 0.14 0.557l-0.003-0.006c0.213 0.441 0.611 0.707 1.853 1.244 2.292 0.987 3.272 1.636 3.881 2.56 0.68 1.031 0.833 2.677 0.371 3.901-0.507 1.331-1.767 2.235-3.54 2.533-0.548 0.097-1.848 0.083-2.437-0.024-1.285-0.229-2.504-0.864-3.256-1.697-0.295-0.324-0.869-1.173-0.833-1.233 0.015-0.021 0.147-0.103 0.293-0.188 0.144-0.081 0.681-0.392 1.189-0.687l0.92-0.533 0.193 0.285c0.269 0.411 0.857 0.975 1.213 1.163 1.021 0.539 2.423 0.463 3.113-0.157 0.257-0.217 0.419-0.54 0.419-0.9 0-0.021-0.001-0.042-0.002-0.062l0 0.003c0-0.371-0.047-0.533-0.24-0.813-0.248-0.355-0.756-0.653-2.199-1.28-1.651-0.711-2.361-1.152-3.012-1.853-0.392-0.445-0.694-0.981-0.871-1.57l-0.008-0.030c-0.121-0.452-0.152-1.585-0.056-2.041 0.34-1.596 1.544-2.707 3.281-3.037 0.564-0.107 1.875-0.067 2.428 0.071zM18.276 16.061l0.011 1.311h-4.167v11.835h-2.947v-11.835h-4.163v-1.285c0-0.712 0.015-1.307 0.035-1.32 0.016-0.021 2.551-0.032 5.623-0.027l5.593 0.016z
- id: rust
title: Rust
viewBox: 0 0 32 32
path: M31.583 15.612l-1.327-0.821c-0.017-0.202-0.030-0.335-0.045-0.468l0.007 0.081 1.14-1.063c0.088-0.084 0.143-0.202 0.143-0.333 0-0.194-0.121-0.361-0.292-0.427l-0.003-0.001-1.457-0.545c-0.057-0.205-0.096-0.331-0.137-0.455l0.023 0.079 0.909-1.263c0.054-0.074 0.086-0.167 0.086-0.267 0-0.226-0.165-0.414-0.381-0.45l-0.003-0-1.536-0.249c-0.092-0.182-0.154-0.295-0.217-0.407l0.032 0.061 0.645-1.417c0.067-0.144 0.052-0.312-0.036-0.443s-0.237-0.208-0.396-0.203l-1.56 0.055c-0.093-0.117-0.173-0.214-0.256-0.31l0.009 0.011 0.359-1.519c0.008-0.031 0.012-0.067 0.012-0.104 0-0.253-0.205-0.457-0.457-0.457-0.037 0-0.073 0.004-0.107 0.013l0.003-0.001-1.519 0.359c-0.069-0.059-0.167-0.14-0.265-0.22l-0.035-0.027 0.055-1.56c0-0.006 0-0.014 0-0.022 0-0.25-0.203-0.453-0.453-0.453-0.070 0-0.136 0.016-0.195 0.044l0.003-0.001-1.417 0.647c-0.115-0.063-0.229-0.125-0.345-0.185l-0.251-1.537c-0.038-0.218-0.226-0.382-0.452-0.382-0.099 0-0.191 0.032-0.267 0.085l0.001-0.001-1.264 0.909c-0.045-0.018-0.171-0.057-0.297-0.094l-0.079-0.020-0.545-1.457c-0.068-0.174-0.234-0.295-0.428-0.295-0.131 0-0.249 0.055-0.333 0.143l-0 0-1.063 1.141c-0.076-0.010-0.209-0.023-0.342-0.034l-0.044-0.003-0.821-1.327c-0.082-0.131-0.225-0.216-0.388-0.216s-0.306 0.086-0.387 0.215l-0.001 0.002-0.821 1.327c-0.129 0.011-0.259 0.024-0.387 0.037l-1.064-1.141c-0.084-0.090-0.202-0.145-0.334-0.145-0.195 0-0.361 0.122-0.426 0.294l-0.001 0.003-0.545 1.457c-0.127 0.036-0.251 0.075-0.376 0.113l-1.263-0.909c-0.074-0.053-0.166-0.084-0.265-0.084-0.226 0-0.414 0.164-0.452 0.379l-0 0.003-0.251 1.537c-0.182 0.092-0.295 0.154-0.407 0.217l0.061-0.032-1.417-0.647c-0.056-0.026-0.121-0.041-0.19-0.041-0.252 0-0.456 0.204-0.456 0.456 0 0.006 0 0.012 0 0.018l-0-0.001 0.055 1.56c-0.101 0.080-0.201 0.163-0.3 0.247l-1.519-0.359c-0.031-0.008-0.067-0.012-0.104-0.012-0.253 0-0.457 0.205-0.457 0.457 0 0.037 0.004 0.073 0.013 0.107l-0.001-0.003 0.357 1.519c-0.083 0.099-0.165 0.199-0.245 0.299l-1.56-0.055c-0.005-0-0.011-0-0.017-0-0.252 0-0.456 0.204-0.456 0.456 0 0.069 0.015 0.134 0.042 0.192l-0.001-0.003 0.647 1.417c-0.032 0.052-0.094 0.165-0.154 0.279l-0.032 0.066-1.536 0.249c-0.218 0.038-0.382 0.226-0.382 0.452 0 0.099 0.032 0.191 0.085 0.267l-0.001-0.001 0.909 1.263c-0.040 0.125-0.077 0.249-0.115 0.376l-1.457 0.545c-0.174 0.068-0.295 0.234-0.295 0.428 0 0.131 0.055 0.249 0.143 0.333l0 0 1.14 1.063c-0.010 0.075-0.023 0.209-0.034 0.342l-0.003 0.044-1.327 0.821c-0.132 0.081-0.219 0.224-0.219 0.388s0.087 0.307 0.217 0.387l0.002 0.001 1.327 0.821c0.011 0.129 0.024 0.259 0.037 0.387l-1.14 1.064c-0.090 0.084-0.145 0.202-0.145 0.334 0 0.195 0.122 0.361 0.294 0.426l0.003 0.001 1.457 0.545c0.036 0.127 0.075 0.252 0.115 0.376l-0.909 1.263c-0.055 0.074-0.087 0.167-0.087 0.268 0 0.227 0.166 0.415 0.383 0.449l0.003 0 1.536 0.249c0.060 0.116 0.121 0.231 0.185 0.345l-0.647 1.417c-0.026 0.056-0.041 0.121-0.041 0.19 0 0.252 0.204 0.456 0.456 0.456 0.006 0 0.012-0 0.018-0l1.558-0.055c0.081 0.101 0.163 0.201 0.247 0.3l-0.357 1.52c-0.008 0.031-0.012 0.067-0.012 0.104 0 0.252 0.204 0.456 0.456 0.456 0.037 0 0.074-0.005 0.109-0.013l-0.003 0.001 1.519-0.357c0.099 0.084 0.199 0.165 0.3 0.245l-0.055 1.56c-0 0.006-0 0.013-0 0.020 0 0.25 0.203 0.453 0.453 0.453 0.070 0 0.136-0.016 0.195-0.044l-0.003 0.001 1.417-0.645c0.115 0.064 0.229 0.125 0.345 0.185l0.251 1.536c0.038 0.219 0.226 0.383 0.452 0.383 0.099 0 0.191-0.032 0.266-0.085l-0.001 0.001 1.263-0.909c0.125 0.040 0.249 0.079 0.376 0.115l0.545 1.457c0.066 0.176 0.232 0.299 0.427 0.299 0.132 0 0.251-0.056 0.334-0.146l0-0 1.064-1.14c0.128 0.015 0.257 0.027 0.387 0.039l0.821 1.327c0.082 0.13 0.225 0.215 0.388 0.215s0.306-0.085 0.387-0.213l0.001-0.002 0.821-1.327c0.129-0.012 0.259-0.024 0.387-0.039l1.063 1.14c0.084 0.088 0.202 0.143 0.333 0.143 0.195 0 0.361-0.121 0.427-0.292l0.001-0.003 0.545-1.457c0.127-0.036 0.252-0.075 0.376-0.115l1.263 0.909c0.074 0.055 0.167 0.087 0.268 0.087 0.227 0 0.415-0.166 0.449-0.383l0-0.003 0.251-1.536c0.116-0.060 0.231-0.123 0.345-0.185l1.417 0.645c0.055 0.026 0.12 0.041 0.188 0.041 0.253 0 0.457-0.205 0.457-0.457 0-0.005-0-0.010-0-0.015l0 0.001-0.055-1.56c0.101-0.080 0.201-0.161 0.299-0.245l1.519 0.357c0.031 0.008 0.067 0.012 0.104 0.012 0.253 0 0.457-0.205 0.457-0.457 0-0.036-0.004-0.072-0.012-0.106l0.001 0.003-0.357-1.52c0.083-0.099 0.165-0.199 0.245-0.3l1.56 0.055c0.006 0 0.014 0 0.022 0 0.25 0 0.453-0.203 0.453-0.453 0-0.070-0.016-0.136-0.044-0.195l0.001 0.003-0.645-1.417c0.063-0.115 0.125-0.229 0.185-0.345l1.536-0.249c0.218-0.038 0.382-0.226 0.382-0.452 0-0.099-0.032-0.191-0.085-0.267l0.001 0.001-0.909-1.263 0.115-0.376 1.457-0.545c0.175-0.066 0.297-0.233 0.297-0.427 0-0.132-0.056-0.25-0.145-0.334l-0-0-1.14-1.064c0.013-0.128 0.027-0.257 0.037-0.387l1.327-0.821c0.132-0.081 0.22-0.224 0.22-0.388s-0.087-0.307-0.216-0.386l-0.002-0.001zM22.704 26.616c-0.428-0.094-0.743-0.47-0.743-0.919 0-0.519 0.421-0.94 0.94-0.94 0.070 0 0.138 0.008 0.203 0.022l-0.006-0.001c0.428 0.094 0.743 0.47 0.743 0.919 0 0.519-0.421 0.94-0.94 0.94-0.070 0-0.138-0.008-0.203-0.022l0.006 0.001zM22.253 23.568c-0.054-0.012-0.116-0.019-0.18-0.019-0.409 0-0.752 0.288-0.835 0.672l-0.001 0.006-0.471 2.197c-1.453 0.66-3.067 1.027-4.767 1.027-0.005 0-0.011 0-0.017 0-1.76 0-3.428-0.395-4.92-1.102l0.070 0.030-0.471-2.197c-0.084-0.389-0.426-0.677-0.835-0.677-0.064 0-0.127 0.007-0.187 0.020l0.006-0.001-1.94 0.416c-0.35-0.36-0.678-0.746-0.981-1.152l-0.022-0.031h9.44c0.107 0 0.179-0.019 0.179-0.116v-3.34c0-0.097-0.071-0.116-0.179-0.116h-2.761v-2.117h2.987c0.272 0 1.457 0.077 1.836 1.592 0.119 0.465 0.379 1.981 0.557 2.467 0.177 0.544 0.9 1.631 1.671 1.631h4.704c0.061-0.001 0.12-0.007 0.177-0.018l-0.006 0.001c-0.343 0.464-0.694 0.873-1.071 1.256l0.002-0.002zM9.196 26.571c-0.059 0.013-0.127 0.021-0.197 0.021-0.519 0-0.94-0.421-0.94-0.94 0-0.449 0.315-0.825 0.737-0.918l0.006-0.001c0.059-0.013 0.127-0.021 0.197-0.021 0.519 0 0.94 0.421 0.94 0.94 0 0.449-0.315 0.825-0.737 0.918l-0.006 0.001zM5.615 12.048c0.059 0.119 0.093 0.26 0.093 0.408 0 0.519-0.421 0.94-0.94 0.94-0.391 0-0.727-0.239-0.868-0.579l-0.002-0.006c-0.044-0.105-0.069-0.227-0.069-0.354 0-0.519 0.421-0.94 0.94-0.94 0.371 0 0.691 0.214 0.844 0.526l0.002 0.006zM4.515 14.657l2.021-0.899c0.302-0.137 0.509-0.435 0.509-0.782 0-0.126-0.027-0.246-0.076-0.354l0.002 0.005-0.416-0.941h1.637v7.379h-3.303c-0.28-0.948-0.442-2.038-0.442-3.165 0-0.438 0.024-0.87 0.072-1.296l-0.005 0.052zM13.384 13.941v-2.175h3.899c0.201 0 1.421 0.233 1.421 1.145 0 0.757-0.936 1.029-1.705 1.029zM27.552 15.899c0 0.288-0.011 0.575-0.032 0.857h-1.185c-0.119 0-0.167 0.077-0.167 0.195v0.544c0 1.281-0.723 1.56-1.356 1.631-0.603 0.068-1.271-0.252-1.353-0.621-0.356-2-0.948-2.428-1.884-3.165 1.161-0.737 2.369-1.825 2.369-3.281 0-1.572-1.079-2.563-1.813-3.049-1.031-0.68-2.172-0.816-2.48-0.816h-12.257c1.654-1.844 3.876-3.148 6.39-3.636l0.073-0.012 1.445 1.516c0.156 0.164 0.375 0.266 0.619 0.266 0.229 0 0.438-0.091 0.591-0.238l-0 0 1.616-1.547c3.407 0.655 6.232 2.732 7.878 5.576l0.030 0.056-1.107 2.5c-0.046 0.102-0.073 0.221-0.073 0.347 0 0.347 0.206 0.646 0.503 0.782l0.005 0.002 2.131 0.947c0.037 0.379 0.056 0.76 0.059 1.148zM15.303 3.256c0.168-0.161 0.397-0.26 0.648-0.26 0.519 0 0.939 0.42 0.939 0.939 0 0.267-0.111 0.508-0.29 0.679l-0 0c-0.164 0.142-0.379 0.228-0.614 0.228-0.519 0-0.94-0.421-0.94-0.94 0-0.251 0.098-0.479 0.258-0.647l-0 0zM26.285 12.093c0.209-0.475 0.764-0.688 1.237-0.477 0.333 0.149 0.561 0.478 0.561 0.86 0 0.519-0.421 0.94-0.94 0.94s-0.94-0.421-0.94-0.94c0-0.139 0.030-0.27 0.084-0.389l-0.002 0.006z
- id: wip
title: Work In Progress
viewBox: 0 0 32 32
path: M26.573 14.5h1.927v3h-1.927c-0.131 0.956-0.374 1.876-0.734 2.737l1.669 0.964-1.5 2.598-1.698-0.98c-0.583 0.736-1.26 1.392-2.011 1.958l1 1.731-2.598 1.5-1.021-1.767c-0.849 0.331-1.745 0.562-2.681 0.673v2.086h-3v-2.143c-0.912-0.141-1.791-0.381-2.614-0.731l-1.087 1.882-2.598-1.5 1.113-1.928c-0.697-0.559-1.319-1.203-1.862-1.913l-1.961 1.132-1.5-2.598 1.979-1.143c-0.321-0.811-0.546-1.668-0.668-2.559h-2.301v-3h2.302c0.122-0.892 0.347-1.749 0.668-2.559l-1.979-1.143 1.5-2.598 1.961 1.132c0.543-0.71 1.165-1.354 1.862-1.914l-1.113-1.925 2.598-1.5 1.087 1.882c0.823-0.35 1.702-0.591 2.614-0.731v-2.143h3v2.085c0.936 0.111 1.832 0.342 2.681 0.673l1.021-1.767 2.598 1.5-1 1.732c0.751 0.566 1.428 1.222 2.011 1.958l1.698-0.98 1.5 2.598-1.669 0.964c0.359 0.861 0.602 1.781 0.733 2.737zM15.491 9.491c-3.59 0-6.5 2.91-6.5 6.5s2.91 6.5 6.5 6.5 6.5-2.91 6.5-6.5-2.91-6.5-6.5-6.5zM15.5 18.5c-1.381 0-2.5-1.119-2.5-2.5s1.119-2.5 2.5-2.5 2.5 1.119 2.5 2.5-1.119 2.5-2.5 2.5z
- id: todo
title: Planned
viewBox: 0 0 32 32
path: M 22.781 16 c 4.305 -2.729 7.219 -7.975 7.219 -14 c 0 -0.677 -0.037 -1.345 -0.109 -2 h -27.783 c -0.072 0.655 -0.109 1.323 -0.109 2 c 0 6.025 2.914 11.271 7.219 14 c -4.305 2.729 -7.219 7.975 -7.219 14 c 0 0.677 0.037 1.345 0.109 2 h 27.783 c 0.072 -0.655 0.109 -1.323 0.109 -2 c 0 -6.025 -2.914 -11.271 -7.219 -14 z M 5 30 c 0 -5.841 2.505 -10.794 7 -12.428 v -3.143 c -4.495 -1.634 -7 -6.587 -7 -12.428 v 0 h 22 c 0 5.841 -2.505 10.794 -7 12.428 v 3.143 c 4.495 1.634 7 6.587 7 12.428 h -22 z z
- id: console
title: Command line
viewBox: 0 0 32 32
path: M0 2v28h32v-28h-32zM30 28h-28v-24h28v24zM28 6h-24v20h24v-20zM14 16h-2v2h-2v2h-2v-2h2v-2h2v-2h-2v-2h-2v-2h2v2h2v2h2v2zM22 20h-6v-2h6v2z
- id: labs
title: Experimental
viewBox: 0 0 32 32
path: M20.682 3.732c-0.473-0.472-1.1-0.732-1.768-0.732s-1.295 0.26-1.77 0.733l-1.41 1.412c-0.473 0.472-0.734 1.1-0.734 1.769 0 0.471 0.129 0.922 0.371 1.313l-13.577 5.439c-0.908 0.399-1.559 1.218-1.742 2.189-0.185 0.977 0.125 1.979 0.834 2.687l12.72 12.58c0.548 0.548 1.276 0.859 2.045 0.877 0.018 0.001 0.060 0.001 0.078 0.001 0.202 0 0.407-0.021 0.61-0.062 0.994-0.206 1.808-0.893 2.177-1.828l5.342-13.376c0.402 0.265 0.875 0.407 1.367 0.407 0.67 0 1.297-0.261 1.768-0.733l1.407-1.408c0.477-0.474 0.738-1.103 0.738-1.773s-0.262-1.3-0.732-1.768l-7.724-7.727zM16.659 29.367c-0.124 0.313-0.397 0.544-0.727 0.612-0.076 0.016-0.153 0.022-0.229 0.021-0.254-0.006-0.499-0.108-0.682-0.292l-12.728-12.588c-0.234-0.233-0.337-0.567-0.275-0.893 0.061-0.324 0.279-0.598 0.582-0.73l6.217-2.49c4.189 1.393 8.379 0.051 12.57 4.522l-4.728 11.838zM26.992 13.58l-1.414 1.413c-0.195 0.196-0.512 0.196-0.707 0l-1.768-1.767-1.432 3.589 0.119-0.303c-3.010-3.005-6.069-3.384-8.829-3.723-0.887-0.109-1.747-0.223-2.592-0.405l8.491-3.401-1.715-1.715c-0.195-0.195-0.195-0.512 0-0.707l1.414-1.415c0.195-0.195 0.512-0.195 0.707 0l7.725 7.727c0.198 0.195 0.198 0.512 0.001 0.707zM16.5 21c1.378 0 2.5-1.121 2.5-2.5s-1.121-2.5-2.5-2.5c-1.379 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5zM16.5 17c0.828 0 1.5 0.672 1.5 1.5s-0.672 1.5-1.5 1.5c-0.829 0-1.5-0.672-1.5-1.5s0.671-1.5 1.5-1.5zM29.5 0c-1.379 0-2.5 1.121-2.5 2.5s1.121 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.121-2.5-2.5-2.5zM29.5 4c-0.828 0-1.5-0.672-1.5-1.5s0.672-1.5 1.5-1.5 1.5 0.672 1.5 1.5-0.672 1.5-1.5 1.5zM8 17c0 1.103 0.897 2 2 2s2-0.897 2-2-0.897-2-2-2-2 0.897-2 2zM10 16c0.552 0 1 0.447 1 1s-0.448 1-1 1-1-0.447-1-1 0.448-1 1-1zM12 23c0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552-0.448 1-1 1s-1-0.448-1-1zM28 8c0-0.552 0.448-1 1-1s1 0.448 1 1c0 0.552-0.448 1-1 1s-1-0.448-1-1z
# Feature descriptions
features:
- name: Get started with Fadroma
info: |
[**Fadroma**](https://fadroma.tech/) is a framework for building
**decentralized applications** with Rust and TypeScript.
From a single token to a hundred-contract DEX and beyond, Fadroma
makes it easy to write [CosmWasm](https://cosmwasm.com/)
smart contracts, deploy them, and integrate them into your Web app.
invert: true
big: left
links:
- icon: console
text: Getting started
bold: true
href: /guide.html
- icon: console
text: Writing contracts
bold: true
href: /dsl.html
- icon: console
text: Building and deploying
bold: true
href: /guide.html#build-cli
- icon: rust
text: Fadroma on Crates.io
bold: true
href: https://crates.io/crates/fadroma
- icon: typescript
text: Fadroma on NPM
bold: true
href: https://www.npmjs.com/package/@hackbg/fadroma
- icon: todo
text: "WIP: Dev server with GUI"
info: Monitor devnet state, visualize deployment contents, view test results and coverage, and perform administrative operations, from a unified local dashboard.
href: https://github.com/hackbg/fadroma/issues/90
- name: Licensing
info: |
Fadroma is [**free software**](https://foss.hack.bg),
available to the public under the [AGPLv3](https://www.gnu.org/licenses/agpl-3.0.txt)
license. This license protects user freedoms and encourages responsibility towards
the digital commons. If this license doesn't work for your business case, email
us at *\[hello at hack dot bg\]* to arrange for custom licensing options.
links:
- text: View license
href: https://www.gnu.org/licenses/agpl-3.0.txt
- text: Maintainers
href: https://github.com/hackbg/fadroma/blob/master/MAINTAINERS.md
- text: Hack.bg FOSS Initiative
href: https://foss.hack.bg
- text: Custom licensing and exemptions
href: mailto:[email protected]
- name: Supported platforms
info: |
Fadroma 1.0.0 supports [Secret Network](https://scrt.network/).
During [**HackWasm Berlin 2023**](https://dorahacks.io/hackathon/hackwasm/detail),
work began on generic support for other CosmWasm chains, and
[**OKP4**](https://okp4.network/) in particular.
links:
- icon: rust
text: fadroma::scrt
href: https://docs.rs/fadroma/latest/fadroma/scrt/
bold: true
- icon: typescript
text: "@fadroma/scrt"
href: /scrt.html
bold: true
- icon: todo
text: "WIP: OKP4"
info: Chain with triple store, object store, and Prolog rule engine
href: https://github.com/hackbg/fadroma/pull/188
- icon: todo
text: "WIP: @fadroma/cw"
info: Generic support for `@cosmjs/stargate` connections
href: https://github.com/hackbg/fadroma/issues/148
- icon: typescript
bold: true
text: Guide to implementing support for new chains
href: /impl.html
- name: Fadroma DSL
info: |
Use attribute macros to abstract away the boilerplate.
Compose smart contracts out of encapsulated components.
links:
- icon: rust
text: Fadroma DSL on Crates.io
href: https://docs.rs/fadroma-dsl/latest/fadroma_dsl/
bold: true
- icon: rust
text: Fadroma DSL Docs
href: ./dsl.html
bold: true
- icon: rust
text: Example contracts
href: https://github.com/hackbg/fadroma/tree/master/examples/
- name: Build reproducibly
info: |
Perform production builds of your contracts in a Docker container.
link: https://github.com/hackbg/fadroma/blob/v100/spec/Build.spec.ts.md
links:
- icon: console
text: $ fadroma build
href: /build.html#BuildCLI
bold: true
- icon: typescript
text: "@fadroma/build"
href: /build.html#BuildAPI
bold: true
- name: Export a rich API
info: |
Extend the `@fadroma/agent` library to define the structure of your project,
export a client library for third-party integrations, and add support for new chains.
links:
- icon: typescript
text: "@fadroma/agent"
href: /agent.html
bold: true
- icon: typescript
text: Example client
href: https://github.com/hackbg/fadroma/tree/master/examples/project/api/api.ts
- name: Deploy and operate
info: Manage hundreds of heterogeneous contracts using a declarative API.
links:
- icon: typescript
text: Writing a script
href: /deploy.html#WritingDeployScripts
bold: true
- icon: console
text: Running scripts
href: /deploy.html#RunningDeployScripts
bold: true
- icon: typescript
text: Example script
href: https://github.com/hackbg/fadroma/tree/master/examples/project/ops/ops.ts
- name: Efficient storage
info: |
Highly performant keyed, namepaced, and iterable data storage primitives. Conversion between human-readable Addr and storage-friendly CanonicalAddr on the struct level.
links:
- icon: rust
text: fadroma::storage
href: https://docs.rs/fadroma/latest/fadroma/storage/
bold: true
- icon: rust
text: fadroma::core::addr
href: https://docs.rs/fadroma/latest/fadroma/core/addr/
bold: true
- icon: rust
text: fadroma-derive-canonize
href: https://docs.rs/fadroma-derive-canonize/latest/fadroma-derive-canonize/
bold: true
- name: Math primitives
info: Fadroma implements 256-bit math for EVM/Cosmos interop, hashing, and randomness for contracts.
links:
- icon: rust
text: 256-bit integer arithmetic
href: https://docs.rs/fadroma/latest/fadroma/prelude/struct.Uint256.html
bold: true
- icon: rust
text: Generate SHA256 hashes on-chain
href: https://docs.rs/fadroma/latest/fadroma/crypto/fn.sha_256.html
bold: true
- icon: rust
text: ChaCha-based pseudo-random number generator
href: https://docs.rs/fadroma/latest/fadroma/crypto/struct.Prng.html
bold: true
- name: Tokenomics
info: |
Interact with fungible and non-fungible distributed tokens.
links:
- icon: rust
text: Embed custom SNIP20 token into a contract
info: An embeddable SNIP-20 implementation, for customizing token functionality, and/or embedding tokens alongside custom logic in the same contract.
href: https://docs.rs/fadroma/latest/fadroma/scrt/snip20/contract/
bold: true
- icon: rust
text: Call SNIP20 token from another contract
info: A struct that interfaces with a SNIP-20 token, for sending messages to tokens in fewer lines of code.
href: https://docs.rs/fadroma/latest/fadroma/scrt/snip20/client/
bold: true
- icon: typescript
text: Call SNIP20 token from TS
href: /scrt.html#SNIP20Client
bold: true
- icon: todo
text: "WIP: SNIP721 Client class"
- name: Authorization
info: Fadroma implements several common access control patterns and primitives.
links:
- icon: rust
text: Admin role
href: https://docs.rs/fadroma/latest/fadroma/admin/
bold: true
- icon: rust
text: Killswitch
info: Emergency pause and permanent termination for your contract.
href: https://docs.rs/fadroma/latest/fadroma/killswitch/
bold: true
- icon: rust
text: Viewing keys
info: Generate and use SNIP-20 compatible viewing keys in any contract.
href: https://docs.rs/fadroma/latest/fadroma/scrt/vk/
bold: true
- icon: typescript
text: Viewing key client
href: ./scrt.html
bold: true
- icon: rust
text: Query permits
info: Generate and use revokable SNIP-24 query permits.
href: https://docs.rs/fadroma/latest/fadroma/scrt/permit/
bold: true
- icon: typescript
text: Query permit client
href: ./scrt.html
bold: true
- name: Local devnets
info: Spawn local blockchain nodes for development and testing.
link: https://github.com/hackbg/fadroma/blob/v100/spec/Devnet.spec.ts.md
links:
- icon: console
text: $ fadroma devnet
href: devnet.html#cli
bold: true
- icon: typescript
text: "@fadroma/devnet"
href: devnet.html#api
bold: true
- icon: todo
text: "WIP: Export devnet"
- icon: todo
text: "TODO: Smart code reloading"
- name: Integration testing
info: Test the interoperation of multiple smart contracts. Quickly execute smart contracts in a simulated local environment, without waiting for block validation. Test smart contracts for edge cases using auto-generated input data.
links:
- icon: rust
text: fadroma::ensemble
href: https://docs.rs/fadroma/latest/fadroma/ensemble/
bold: true
- icon: rust
text: Example ensemble test
href: https://github.com/hackbg/fadroma/tree/master/examples/ensemble
- icon: typescript
text: "@fadroma/mocknet"
href: mocknet.html
bold: true
- icon: todo
text: "TODO: Property-based testing"
- icon: todo
text: "TODO: Gas profiling"
- name: Docker integration
info: Fadroma runs builds and devnets in containers using Docker or Podman
foss: true
link:
links:
- icon: todo
text: "WIP: Podman support"
- icon: typescript
text: "Powered by @fadroma/oci"
href: https://www.npmjs.com/package/@fadroma/oci
bold: true
- name: Scripting
info: Fadroma scripts are structured as ES/TS modules that export one or more commands.
foss: true
links:
- icon: typescript
text: "Powered by @hackbg/cmds"
href: https://www.npmjs.com/package/@hackbg/cmds
bold: true
- name: Configuration
info: You can configure the TypeScript subsystems of Fadroma using env vars and/or a .env file.
foss: true
links:
- icon: typescript
text: "Powered by @hackbg/conf"
href: https://www.npmjs.com/package/@hackbg/conf
bold: true
- name: Literate programming
info: Fadroma is tested using the Ensuite documentation and testing harness for Markdown and TypeScript.
foss: true
links:
- icon: typescript
text: "@hackbg/ensuite"
href: https://github.com/hackbg/ensuite
bold: true
extra:
beforeBody:
- <script data-goatcounter="https://goat.fadroma.hack.bg/count" async src="//goat.fadroma.hack.bg/count.js"></script>