z_4_filetest.gno

27.96 Kb ยท 892 lines
  1// PKGPATH: gno.land/r/demo/boards_test
  2package boards_test
  3
  4// SEND: 200000000ugnot
  5
  6import (
  7	"strconv"
  8
  9	"gno.land/r/demo/boards"
 10	"gno.land/r/demo/users"
 11)
 12
 13var (
 14	bid boards.BoardID
 15	pid boards.PostID
 16)
 17
 18func init() {
 19	users.Register("", "gnouser", "my profile")
 20
 21	bid = boards.CreateBoard("test_board")
 22	boards.CreateThread(bid, "First Post (title)", "Body of the first post. (body)")
 23	pid = boards.CreateThread(bid, "Second Post (title)", "Body of the second post. (body)")
 24	rid := boards.CreateReply(bid, pid, pid, "Reply of the second post")
 25	println(rid)
 26}
 27
 28func main() {
 29	rid2 := boards.CreateReply(bid, pid, pid, "Second reply of the second post")
 30	println(rid2)
 31	println(boards.Render("test_board/" + strconv.Itoa(int(pid))))
 32}
 33
 34// Output:
 35// 3
 36// 4
 37// # Second Post (title)
 38//
 39// Body of the second post. (body)
 40// \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2) \[[reply](/r/demo/boards?help&__func=CreateReply&bid=1&threadid=2&postid=2&body.type=textarea)] \[[repost](/r/demo/boards?help&__func=CreateRepost&bid=1&postid=2&title.type=textarea&body.type=textarea&dstBoardID.type=textarea)] \[[x](/r/demo/boards?help&__func=DeletePost&bid=1&threadid=2&postid=2)]
 41//
 42// > Reply of the second post
 43// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/3) \[[reply](/r/demo/boards?help&__func=CreateReply&bid=1&threadid=2&postid=3&body.type=textarea)] \[[x](/r/demo/boards?help&__func=DeletePost&bid=1&threadid=2&postid=3)]
 44//
 45// > Second reply of the second post
 46// > \- [@gnouser](/r/demo/users:gnouser), [2009-02-13 11:31pm (UTC)](/r/demo/boards:test_board/2/4) \[[reply](/r/demo/boards?help&__func=CreateReply&bid=1&threadid=2&postid=4&body.type=textarea)] \[[x](/r/demo/boards?help&__func=DeletePost&bid=1&threadid=2&postid=4)]
 47
 48// Realm:
 49// switchrealm["gno.land/r/demo/users"]
 50// switchrealm["gno.land/r/demo/boards"]
 51// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:111]={
 52//     "ObjectInfo": {
 53//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:111",
 54//         "ModTime": "123",
 55//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123",
 56//         "RefCount": "1"
 57//     },
 58//     "Value": {
 59//         "T": {
 60//             "@type": "/gno.RefType",
 61//             "ID": "gno.land/p/demo/avl.Node"
 62//         },
 63//         "V": {
 64//             "@type": "/gno.RefValue",
 65//             "Hash": "68663c8895d37d479e417c11e21badfe21345c61",
 66//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:112"
 67//         }
 68//     }
 69// }
 70// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:125]={
 71//     "Fields": [
 72//         {
 73//             "T": {
 74//                 "@type": "/gno.PrimitiveType",
 75//                 "value": "16"
 76//             },
 77//             "V": {
 78//                 "@type": "/gno.StringValue",
 79//                 "value": "0000000004"
 80//             }
 81//         },
 82//         {
 83//             "T": {
 84//                 "@type": "/gno.PointerType",
 85//                 "Elt": {
 86//                     "@type": "/gno.RefType",
 87//                     "ID": "gno.land/r/demo/boards.Post"
 88//                 }
 89//             },
 90//             "V": {
 91//                 "@type": "/gno.PointerValue",
 92//                 "Base": {
 93//                     "@type": "/gno.RefValue",
 94//                     "Escaped": true,
 95//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126"
 96//                 },
 97//                 "Index": "0",
 98//                 "TV": null
 99//             }
100//         },
101//         {
102//             "T": {
103//                 "@type": "/gno.PrimitiveType",
104//                 "value": "64"
105//             }
106//         },
107//         {
108//             "N": "AQAAAAAAAAA=",
109//             "T": {
110//                 "@type": "/gno.PrimitiveType",
111//                 "value": "32"
112//             }
113//         },
114//         {
115//             "T": {
116//                 "@type": "/gno.PointerType",
117//                 "Elt": {
118//                     "@type": "/gno.RefType",
119//                     "ID": "gno.land/p/demo/avl.Node"
120//                 }
121//             }
122//         },
123//         {
124//             "T": {
125//                 "@type": "/gno.PointerType",
126//                 "Elt": {
127//                     "@type": "/gno.RefType",
128//                     "ID": "gno.land/p/demo/avl.Node"
129//                 }
130//             }
131//         }
132//     ],
133//     "ObjectInfo": {
134//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:125",
135//         "ModTime": "0",
136//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124",
137//         "RefCount": "1"
138//     }
139// }
140// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124]={
141//     "ObjectInfo": {
142//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124",
143//         "ModTime": "0",
144//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123",
145//         "RefCount": "1"
146//     },
147//     "Value": {
148//         "T": {
149//             "@type": "/gno.RefType",
150//             "ID": "gno.land/p/demo/avl.Node"
151//         },
152//         "V": {
153//             "@type": "/gno.RefValue",
154//             "Hash": "3f34ac77289aa1d5f9a2f8b6d083138325816fb0",
155//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:125"
156//         }
157//     }
158// }
159// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123]={
160//     "Fields": [
161//         {
162//             "T": {
163//                 "@type": "/gno.PrimitiveType",
164//                 "value": "16"
165//             },
166//             "V": {
167//                 "@type": "/gno.StringValue",
168//                 "value": "0000000004"
169//             }
170//         },
171//         {},
172//         {
173//             "N": "AQAAAAAAAAA=",
174//             "T": {
175//                 "@type": "/gno.PrimitiveType",
176//                 "value": "64"
177//             }
178//         },
179//         {
180//             "N": "AgAAAAAAAAA=",
181//             "T": {
182//                 "@type": "/gno.PrimitiveType",
183//                 "value": "32"
184//             }
185//         },
186//         {
187//             "T": {
188//                 "@type": "/gno.PointerType",
189//                 "Elt": {
190//                     "@type": "/gno.RefType",
191//                     "ID": "gno.land/p/demo/avl.Node"
192//                 }
193//             },
194//             "V": {
195//                 "@type": "/gno.PointerValue",
196//                 "Base": {
197//                     "@type": "/gno.RefValue",
198//                     "Hash": "94a6665a44bac6ede7f3e3b87173e537b12f9532",
199//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:111"
200//                 },
201//                 "Index": "0",
202//                 "TV": null
203//             }
204//         },
205//         {
206//             "T": {
207//                 "@type": "/gno.PointerType",
208//                 "Elt": {
209//                     "@type": "/gno.RefType",
210//                     "ID": "gno.land/p/demo/avl.Node"
211//                 }
212//             },
213//             "V": {
214//                 "@type": "/gno.PointerValue",
215//                 "Base": {
216//                     "@type": "/gno.RefValue",
217//                     "Hash": "bc8e5b4e782a0bbc4ac9689681f119beb7b34d59",
218//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:124"
219//                 },
220//                 "Index": "0",
221//                 "TV": null
222//             }
223//         }
224//     ],
225//     "ObjectInfo": {
226//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123",
227//         "ModTime": "0",
228//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122",
229//         "RefCount": "1"
230//     }
231// }
232// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122]={
233//     "ObjectInfo": {
234//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122",
235//         "ModTime": "0",
236//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:106",
237//         "RefCount": "1"
238//     },
239//     "Value": {
240//         "T": {
241//             "@type": "/gno.RefType",
242//             "ID": "gno.land/p/demo/avl.Node"
243//         },
244//         "V": {
245//             "@type": "/gno.RefValue",
246//             "Hash": "9957eadbc91dd32f33b0d815e041a32dbdea0671",
247//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:123"
248//         }
249//     }
250// }
251// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:128]={
252//     "Fields": [
253//         {
254//             "T": {
255//                 "@type": "/gno.PointerType",
256//                 "Elt": {
257//                     "@type": "/gno.RefType",
258//                     "ID": "gno.land/p/demo/avl.Node"
259//                 }
260//             }
261//         }
262//     ],
263//     "ObjectInfo": {
264//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:128",
265//         "ModTime": "0",
266//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
267//         "RefCount": "1"
268//     }
269// }
270// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:129]={
271//     "Fields": [
272//         {
273//             "T": {
274//                 "@type": "/gno.PointerType",
275//                 "Elt": {
276//                     "@type": "/gno.RefType",
277//                     "ID": "gno.land/p/demo/avl.Node"
278//                 }
279//             }
280//         }
281//     ],
282//     "ObjectInfo": {
283//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:129",
284//         "ModTime": "0",
285//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
286//         "RefCount": "1"
287//     }
288// }
289// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:130]={
290//     "Fields": [
291//         {
292//             "T": {
293//                 "@type": "/gno.PointerType",
294//                 "Elt": {
295//                     "@type": "/gno.RefType",
296//                     "ID": "gno.land/p/demo/avl.Node"
297//                 }
298//             }
299//         }
300//     ],
301//     "ObjectInfo": {
302//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:130",
303//         "ModTime": "0",
304//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
305//         "RefCount": "1"
306//     }
307// }
308// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:131]={
309//     "Fields": [
310//         {
311//             "N": "AAAAgJSeXbo=",
312//             "T": {
313//                 "@type": "/gno.PrimitiveType",
314//                 "value": "65536"
315//             }
316//         },
317//         {
318//             "N": "AbSNdvQQIhE=",
319//             "T": {
320//                 "@type": "/gno.PrimitiveType",
321//                 "value": "1024"
322//             }
323//         },
324//         {
325//             "T": {
326//                 "@type": "/gno.PointerType",
327//                 "Elt": {
328//                     "@type": "/gno.RefType",
329//                     "ID": "time.Location"
330//                 }
331//             },
332//             "V": {
333//                 "@type": "/gno.PointerValue",
334//                 "Base": {
335//                     "@type": "/gno.RefValue",
336//                     "Escaped": true,
337//                     "ObjectID": "336074805fc853987abe6f7fe3ad97a6a6f3077a:2"
338//                 },
339//                 "Index": "182",
340//                 "TV": null
341//             }
342//         }
343//     ],
344//     "ObjectInfo": {
345//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:131",
346//         "ModTime": "0",
347//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
348//         "RefCount": "1"
349//     }
350// }
351// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:132]={
352//     "Fields": [
353//         {
354//             "T": {
355//                 "@type": "/gno.PrimitiveType",
356//                 "value": "65536"
357//             }
358//         },
359//         {
360//             "T": {
361//                 "@type": "/gno.PrimitiveType",
362//                 "value": "1024"
363//             }
364//         },
365//         {
366//             "T": {
367//                 "@type": "/gno.PointerType",
368//                 "Elt": {
369//                     "@type": "/gno.RefType",
370//                     "ID": "time.Location"
371//                 }
372//             }
373//         }
374//     ],
375//     "ObjectInfo": {
376//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:132",
377//         "ModTime": "0",
378//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
379//         "RefCount": "1"
380//     }
381// }
382// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127]={
383//     "Fields": [
384//         {
385//             "T": {
386//                 "@type": "/gno.PointerType",
387//                 "Elt": {
388//                     "@type": "/gno.RefType",
389//                     "ID": "gno.land/r/demo/boards.Board"
390//                 }
391//             },
392//             "V": {
393//                 "@type": "/gno.PointerValue",
394//                 "Base": {
395//                     "@type": "/gno.RefValue",
396//                     "Escaped": true,
397//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:84"
398//                 },
399//                 "Index": "0",
400//                 "TV": null
401//             }
402//         },
403//         {
404//             "N": "BAAAAAAAAAA=",
405//             "T": {
406//                 "@type": "/gno.RefType",
407//                 "ID": "gno.land/r/demo/boards.PostID"
408//             }
409//         },
410//         {
411//             "T": {
412//                 "@type": "/gno.RefType",
413//                 "ID": "std.Address"
414//             },
415//             "V": {
416//                 "@type": "/gno.StringValue",
417//                 "value": "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm"
418//             }
419//         },
420//         {
421//             "T": {
422//                 "@type": "/gno.PrimitiveType",
423//                 "value": "16"
424//             },
425//             "V": {
426//                 "@type": "/gno.StringValue",
427//                 "value": ""
428//             }
429//         },
430//         {
431//             "T": {
432//                 "@type": "/gno.PrimitiveType",
433//                 "value": "16"
434//             },
435//             "V": {
436//                 "@type": "/gno.StringValue",
437//                 "value": "Second reply of the second post"
438//             }
439//         },
440//         {
441//             "T": {
442//                 "@type": "/gno.RefType",
443//                 "ID": "gno.land/p/demo/avl.Tree"
444//             },
445//             "V": {
446//                 "@type": "/gno.RefValue",
447//                 "Hash": "f91e355bd19240f0f3350a7fa0e6a82b72225916",
448//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:128"
449//             }
450//         },
451//         {
452//             "T": {
453//                 "@type": "/gno.RefType",
454//                 "ID": "gno.land/p/demo/avl.Tree"
455//             },
456//             "V": {
457//                 "@type": "/gno.RefValue",
458//                 "Hash": "9ee9c4117be283fc51ffcc5ecd65b75ecef5a9dd",
459//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:129"
460//             }
461//         },
462//         {
463//             "T": {
464//                 "@type": "/gno.RefType",
465//                 "ID": "gno.land/p/demo/avl.Tree"
466//             },
467//             "V": {
468//                 "@type": "/gno.RefValue",
469//                 "Hash": "eb768b0140a5fe95f9c58747f0960d647dacfd42",
470//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:130"
471//             }
472//         },
473//         {
474//             "N": "AgAAAAAAAAA=",
475//             "T": {
476//                 "@type": "/gno.RefType",
477//                 "ID": "gno.land/r/demo/boards.PostID"
478//             }
479//         },
480//         {
481//             "N": "AgAAAAAAAAA=",
482//             "T": {
483//                 "@type": "/gno.RefType",
484//                 "ID": "gno.land/r/demo/boards.PostID"
485//             }
486//         },
487//         {
488//             "T": {
489//                 "@type": "/gno.RefType",
490//                 "ID": "gno.land/r/demo/boards.BoardID"
491//             }
492//         },
493//         {
494//             "T": {
495//                 "@type": "/gno.RefType",
496//                 "ID": "time.Time"
497//             },
498//             "V": {
499//                 "@type": "/gno.RefValue",
500//                 "Hash": "0fd3352422af0a56a77ef2c9e88f479054e3d51f",
501//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:131"
502//             }
503//         },
504//         {
505//             "T": {
506//                 "@type": "/gno.RefType",
507//                 "ID": "time.Time"
508//             },
509//             "V": {
510//                 "@type": "/gno.RefValue",
511//                 "Hash": "bed4afa8ffdbbf775451c947fc68b27a345ce32a",
512//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:132"
513//             }
514//         }
515//     ],
516//     "ObjectInfo": {
517//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127",
518//         "ModTime": "0",
519//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126",
520//         "RefCount": "1"
521//     }
522// }
523// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126]={
524//     "ObjectInfo": {
525//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126",
526//         "IsEscaped": true,
527//         "ModTime": "0",
528//         "RefCount": "2"
529//     },
530//     "Value": {
531//         "T": {
532//             "@type": "/gno.RefType",
533//             "ID": "gno.land/r/demo/boards.Post"
534//         },
535//         "V": {
536//             "@type": "/gno.RefValue",
537//             "Hash": "c45bbd47a46681a63af973db0ec2180922e4a8ae",
538//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:127"
539//         }
540//     }
541// }
542// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:120]={
543//     "ObjectInfo": {
544//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:120",
545//         "ModTime": "134",
546//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134",
547//         "RefCount": "1"
548//     },
549//     "Value": {
550//         "T": {
551//             "@type": "/gno.RefType",
552//             "ID": "gno.land/p/demo/avl.Node"
553//         },
554//         "V": {
555//             "@type": "/gno.RefValue",
556//             "Hash": "dc1f011553dc53e7a846049e08cc77fa35ea6a51",
557//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:121"
558//         }
559//     }
560// }
561// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:136]={
562//     "Fields": [
563//         {
564//             "T": {
565//                 "@type": "/gno.PrimitiveType",
566//                 "value": "16"
567//             },
568//             "V": {
569//                 "@type": "/gno.StringValue",
570//                 "value": "0000000004"
571//             }
572//         },
573//         {
574//             "T": {
575//                 "@type": "/gno.PointerType",
576//                 "Elt": {
577//                     "@type": "/gno.RefType",
578//                     "ID": "gno.land/r/demo/boards.Post"
579//                 }
580//             },
581//             "V": {
582//                 "@type": "/gno.PointerValue",
583//                 "Base": {
584//                     "@type": "/gno.RefValue",
585//                     "Escaped": true,
586//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:126"
587//                 },
588//                 "Index": "0",
589//                 "TV": null
590//             }
591//         },
592//         {
593//             "T": {
594//                 "@type": "/gno.PrimitiveType",
595//                 "value": "64"
596//             }
597//         },
598//         {
599//             "N": "AQAAAAAAAAA=",
600//             "T": {
601//                 "@type": "/gno.PrimitiveType",
602//                 "value": "32"
603//             }
604//         },
605//         {
606//             "T": {
607//                 "@type": "/gno.PointerType",
608//                 "Elt": {
609//                     "@type": "/gno.RefType",
610//                     "ID": "gno.land/p/demo/avl.Node"
611//                 }
612//             }
613//         },
614//         {
615//             "T": {
616//                 "@type": "/gno.PointerType",
617//                 "Elt": {
618//                     "@type": "/gno.RefType",
619//                     "ID": "gno.land/p/demo/avl.Node"
620//                 }
621//             }
622//         }
623//     ],
624//     "ObjectInfo": {
625//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:136",
626//         "ModTime": "0",
627//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135",
628//         "RefCount": "1"
629//     }
630// }
631// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135]={
632//     "ObjectInfo": {
633//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135",
634//         "ModTime": "0",
635//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134",
636//         "RefCount": "1"
637//     },
638//     "Value": {
639//         "T": {
640//             "@type": "/gno.RefType",
641//             "ID": "gno.land/p/demo/avl.Node"
642//         },
643//         "V": {
644//             "@type": "/gno.RefValue",
645//             "Hash": "96b86b4585c7f1075d7794180a5581f72733a7ab",
646//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:136"
647//         }
648//     }
649// }
650// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134]={
651//     "Fields": [
652//         {
653//             "T": {
654//                 "@type": "/gno.PrimitiveType",
655//                 "value": "16"
656//             },
657//             "V": {
658//                 "@type": "/gno.StringValue",
659//                 "value": "0000000004"
660//             }
661//         },
662//         {},
663//         {
664//             "N": "AQAAAAAAAAA=",
665//             "T": {
666//                 "@type": "/gno.PrimitiveType",
667//                 "value": "64"
668//             }
669//         },
670//         {
671//             "N": "AgAAAAAAAAA=",
672//             "T": {
673//                 "@type": "/gno.PrimitiveType",
674//                 "value": "32"
675//             }
676//         },
677//         {
678//             "T": {
679//                 "@type": "/gno.PointerType",
680//                 "Elt": {
681//                     "@type": "/gno.RefType",
682//                     "ID": "gno.land/p/demo/avl.Node"
683//                 }
684//             },
685//             "V": {
686//                 "@type": "/gno.PointerValue",
687//                 "Base": {
688//                     "@type": "/gno.RefValue",
689//                     "Hash": "32274e1f28fb2b97d67a1262afd362d370de7faa",
690//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:120"
691//                 },
692//                 "Index": "0",
693//                 "TV": null
694//             }
695//         },
696//         {
697//             "T": {
698//                 "@type": "/gno.PointerType",
699//                 "Elt": {
700//                     "@type": "/gno.RefType",
701//                     "ID": "gno.land/p/demo/avl.Node"
702//                 }
703//             },
704//             "V": {
705//                 "@type": "/gno.PointerValue",
706//                 "Base": {
707//                     "@type": "/gno.RefValue",
708//                     "Hash": "c2cfd6aec36a462f35bf02e5bf4a127aa1bb7ac2",
709//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:135"
710//                 },
711//                 "Index": "0",
712//                 "TV": null
713//             }
714//         }
715//     ],
716//     "ObjectInfo": {
717//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134",
718//         "ModTime": "0",
719//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133",
720//         "RefCount": "1"
721//     }
722// }
723// c[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133]={
724//     "ObjectInfo": {
725//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133",
726//         "ModTime": "0",
727//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:107",
728//         "RefCount": "1"
729//     },
730//     "Value": {
731//         "T": {
732//             "@type": "/gno.RefType",
733//             "ID": "gno.land/p/demo/avl.Node"
734//         },
735//         "V": {
736//             "@type": "/gno.RefValue",
737//             "Hash": "5cb875179e86d32c517322af7a323b2a5f3e6cc5",
738//             "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:134"
739//         }
740//     }
741// }
742// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:85]={
743//     "Fields": [
744//         {
745//             "N": "AQAAAAAAAAA=",
746//             "T": {
747//                 "@type": "/gno.RefType",
748//                 "ID": "gno.land/r/demo/boards.BoardID"
749//             }
750//         },
751//         {
752//             "T": {
753//                 "@type": "/gno.PrimitiveType",
754//                 "value": "16"
755//             },
756//             "V": {
757//                 "@type": "/gno.StringValue",
758//                 "value": "/r/demo/boards:test_board"
759//             }
760//         },
761//         {
762//             "T": {
763//                 "@type": "/gno.PrimitiveType",
764//                 "value": "16"
765//             },
766//             "V": {
767//                 "@type": "/gno.StringValue",
768//                 "value": "test_board"
769//             }
770//         },
771//         {
772//             "T": {
773//                 "@type": "/gno.RefType",
774//                 "ID": "std.Address"
775//             },
776//             "V": {
777//                 "@type": "/gno.StringValue",
778//                 "value": "g1wymu47drhr0kuq2098m792lytgtj2nyx77yrsm"
779//             }
780//         },
781//         {
782//             "T": {
783//                 "@type": "/gno.RefType",
784//                 "ID": "gno.land/p/demo/avl.Tree"
785//             },
786//             "V": {
787//                 "@type": "/gno.RefValue",
788//                 "Hash": "a416a751c3a45a1e5cba11e737c51340b081e372",
789//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:86"
790//             }
791//         },
792//         {
793//             "N": "BAAAAAAAAAA=",
794//             "T": {
795//                 "@type": "/gno.PrimitiveType",
796//                 "value": "65536"
797//             }
798//         },
799//         {
800//             "T": {
801//                 "@type": "/gno.RefType",
802//                 "ID": "time.Time"
803//             },
804//             "V": {
805//                 "@type": "/gno.RefValue",
806//                 "Hash": "36299fccbc13f2a84c4629fad4cb940f0bd4b1c6",
807//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:87"
808//             }
809//         },
810//         {
811//             "T": {
812//                 "@type": "/gno.RefType",
813//                 "ID": "gno.land/p/demo/avl.Tree"
814//             },
815//             "V": {
816//                 "@type": "/gno.RefValue",
817//                 "Hash": "af6ed0268f99b7f369329094eb6dfaea7812708b",
818//                 "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:88"
819//             }
820//         }
821//     ],
822//     "ObjectInfo": {
823//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:85",
824//         "ModTime": "121",
825//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:84",
826//         "RefCount": "1"
827//     }
828// }
829// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:106]={
830//     "Fields": [
831//         {
832//             "T": {
833//                 "@type": "/gno.PointerType",
834//                 "Elt": {
835//                     "@type": "/gno.RefType",
836//                     "ID": "gno.land/p/demo/avl.Node"
837//                 }
838//             },
839//             "V": {
840//                 "@type": "/gno.PointerValue",
841//                 "Base": {
842//                     "@type": "/gno.RefValue",
843//                     "Hash": "9809329dc1ddc5d3556f7a8fa3c2cebcbf65560b",
844//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:122"
845//                 },
846//                 "Index": "0",
847//                 "TV": null
848//             }
849//         }
850//     ],
851//     "ObjectInfo": {
852//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:106",
853//         "ModTime": "121",
854//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:105",
855//         "RefCount": "1"
856//     }
857// }
858// u[f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:107]={
859//     "Fields": [
860//         {
861//             "T": {
862//                 "@type": "/gno.PointerType",
863//                 "Elt": {
864//                     "@type": "/gno.RefType",
865//                     "ID": "gno.land/p/demo/avl.Node"
866//                 }
867//             },
868//             "V": {
869//                 "@type": "/gno.PointerValue",
870//                 "Base": {
871//                     "@type": "/gno.RefValue",
872//                     "Hash": "ceae9a1c4ed28bb51062e6ccdccfad0caafd1c4f",
873//                     "ObjectID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:133"
874//                 },
875//                 "Index": "0",
876//                 "TV": null
877//             }
878//         }
879//     ],
880//     "ObjectInfo": {
881//         "ID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:107",
882//         "ModTime": "121",
883//         "OwnerID": "f6dbf411da22e67d74cd7ddba6a76cd7e14a4822:105",
884//         "RefCount": "1"
885//     }
886// }
887// switchrealm["gno.land/r/demo/boards"]
888// switchrealm["gno.land/r/demo/users"]
889// switchrealm["gno.land/r/demo/users"]
890// switchrealm["gno.land/r/demo/users"]
891// switchrealm["gno.land/r/demo/boards"]
892// switchrealm["gno.land/r/demo/boards_test"]