From e68ed608d399a65d492c29c5202f631f362e5611 Mon Sep 17 00:00:00 2001 From: gfanton Date: Sat, 6 Jul 2024 01:31:32 +0000 Subject: [PATCH] chore: update test3.gno.land backup --- test3.gno.land/README.md | 15 ++- test3.gno.land/backup_0469315-0470829.jsonl | 60 ++++++++++++ .../extracted/p/demo/hyperborea/package.gno | 35 +------ .../extracted/p/demo2/hello/pkg_metadata.json | 2 +- .../extracted/p/hello/hello/pkg_metadata.json | 2 +- .../extracted/p/test/hello/pkg_metadata.json | 2 +- .../extracted/r/asd/hello/package.gno | 2 +- .../extracted/r/asd/hello/pkg_metadata.json | 2 +- .../extracted/r/demo/apple/GRC20.gno | 2 +- .../extracted/r/demo/apple/pkg_metadata.json | 2 +- test3.gno.land/extracted/r/demo/asa/GRC20.gno | 2 +- .../extracted/r/demo/asa/pkg_metadata.json | 2 +- .../extracted/r/demo/demo/GRC20.gno | 30 +++--- .../extracted/r/demo/demo/pkg_metadata.json | 2 +- .../extracted/r/demo/gemcoin/GRC20.gno | 28 +++--- .../extracted/r/demo/gggg/pkg_metadata.json | 2 +- .../extracted/r/demo/grass/GRC20.gno | 4 +- .../extracted/r/demo/grass/pkg_metadata.json | 2 +- .../extracted/r/demo/harambe/GRC20.gno | 2 +- .../r/demo/harambe/pkg_metadata.json | 2 +- .../extracted/r/demo/hello/hello.gno | 18 ++-- .../extracted/r/demo/hello/pkg_metadata.json | 2 +- .../extracted/r/demo/hello3/pkg_metadata.json | 2 +- .../extracted/r/demo/ripl/GRC20.gno | 30 +++--- .../extracted/r/demo/ripl/pkg_metadata.json | 2 +- .../extracted/r/demo/test/package.gno | 4 + .../extracted/r/demo/test/pkg_metadata.json | 2 +- .../extracted/r/demo/yep/pkg_metadata.json | 2 +- .../r/demo2/greeting/pkg_metadata.json | 2 +- .../r/dragicevicb/raffleentry/package.gno | 8 ++ .../dragicevicb/raffleentry/pkg_metadata.json | 1 + .../extracted/r/hello/hello/pkg_metadata.json | 2 +- .../extracted/r/hello15/hello/package.gno | 6 +- .../r/hello15/hello/pkg_metadata.json | 2 +- .../r/kirk_haines/gnosocial/gnocial.gno | 97 +++++++++++++++++++ .../r/kirk_haines/gnosocial/pkg_metadata.json | 1 + .../extracted/r/test/hello/pkg_metadata.json | 2 +- .../extracted/r/test22/hello/package.gno | 4 +- .../r/test22/hello/pkg_metadata.json | 2 +- .../r/wyhaines/gnocial13/gnocial.gno | 97 +++++++++++++++++++ .../r/wyhaines/gnocial13/pkg_metadata.json | 1 + .../r/wyhaines/gnocial13_1/gnocial.gno | 97 +++++++++++++++++++ .../r/wyhaines/gnocial13_1/pkg_metadata.json | 1 + .../r/wyhaines/gnocial14/gnocial.gno | 97 +++++++++++++++++++ .../r/wyhaines/gnocial14/pkg_metadata.json | 1 + .../r/wyhaines/gnocial15/gnocial.gno | 97 +++++++++++++++++++ .../r/wyhaines/gnocial15/pkg_metadata.json | 1 + .../r/wyhaines/gnocial16/gnocial.gno | 97 +++++++++++++++++++ .../r/wyhaines/gnocial16/pkg_metadata.json | 1 + .../r/wyhaines/gnosocial/gnocial.gno | 97 +++++++++++++++++++ .../r/wyhaines/gnosocial/pkg_metadata.json | 1 + test3.gno.land/metadata.json | 2 +- 52 files changed, 857 insertions(+), 122 deletions(-) create mode 100755 test3.gno.land/backup_0469315-0470829.jsonl create mode 100644 test3.gno.land/extracted/r/dragicevicb/raffleentry/package.gno create mode 100644 test3.gno.land/extracted/r/dragicevicb/raffleentry/pkg_metadata.json create mode 100644 test3.gno.land/extracted/r/kirk_haines/gnosocial/gnocial.gno create mode 100644 test3.gno.land/extracted/r/kirk_haines/gnosocial/pkg_metadata.json create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial13/gnocial.gno create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial13/pkg_metadata.json create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial13_1/gnocial.gno create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial13_1/pkg_metadata.json create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial14/gnocial.gno create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial14/pkg_metadata.json create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial15/gnocial.gno create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial15/pkg_metadata.json create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial16/gnocial.gno create mode 100644 test3.gno.land/extracted/r/wyhaines/gnocial16/pkg_metadata.json create mode 100644 test3.gno.land/extracted/r/wyhaines/gnosocial/gnocial.gno create mode 100644 test3.gno.land/extracted/r/wyhaines/gnosocial/pkg_metadata.json diff --git a/test3.gno.land/README.md b/test3.gno.land/README.md index 6b4c659a..7f091fca 100644 --- a/test3.gno.land/README.md +++ b/test3.gno.land/README.md @@ -2,7 +2,7 @@ ## TXs ``` -9007 +9067 ``` ## addpkgs @@ -25,6 +25,7 @@ 7 "gno.land/r/test1/tictacgno" 7 "gno.land/r/test/test" 7 "gno.land/r/test/hello" + 7 "gno.land/r/dragicevicb/raffleentry" 7 "gno.land/r/demo/GemCoin" 7 "gno.land/p/test/test" 7 "gno.land/p/demo5/premier" @@ -156,6 +157,7 @@ 2 "gno.land/r/x1unix/feedback/v5" 2 "gno.land/r/x1unix/feedback/v11" 2 "gno.land/r/x1unix/feedback/v10" + 2 "gno.land/r/wyhaines/gnosocial" 2 "gno.land/r/wyhaines/gnocial5" 2 "gno.land/r/wyhaines/gnocial2" 2 "gno.land/r/whatevertest/whatever" @@ -374,6 +376,11 @@ 1 "gno.land/r/wyhaines/gnocial7" 1 "gno.land/r/wyhaines/gnocial6" 1 "gno.land/r/wyhaines/gnocial3" + 1 "gno.land/r/wyhaines/gnocial16" + 1 "gno.land/r/wyhaines/gnocial15" + 1 "gno.land/r/wyhaines/gnocial14" + 1 "gno.land/r/wyhaines/gnocial13_1" + 1 "gno.land/r/wyhaines/gnocial13" 1 "gno.land/r/wyhaines/gnocial12" 1 "gno.land/r/wyhaines/gnocial11" 1 "gno.land/r/whitelist/DIGIX666" @@ -553,6 +560,7 @@ 1 "gno.land/r/kush/hello" 1 "gno.land/r/ksergio/hello" 1 "gno.land/r/kryzzz/hello" + 1 "gno.land/r/kirk_haines/gnosocial" 1 "gno.land/r/kestar/oblos" 1 "gno.land/r/kestar/DZPOWER" 1 "gno.land/r/kennethy/hello" @@ -1532,6 +1540,7 @@ 5 "gno.land/p/demo/realmpackagetest" 4 "gno.land/r/x1unix/sf/v3" 4 "gno.land/r/x1unix/feedback/v11" + 4 "gno.land/r/wyhaines/gnocial14" 4 "gno.land/r/wyhaines/gnocial12" 4 "gno.land/r/ttt123/hello" 4 "gno.land/r/test98/hello" @@ -1551,6 +1560,8 @@ 3 "ㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁㅁ" 3 "gno.land/r/x1unix/feedback/v8" 3 "gno.land/r/x1unix/feedback/v10" + 3 "gno.land/r/wyhaines/gnosocial" + 3 "gno.land/r/wyhaines/gnocial15" 3 "gno.land/r/test/poll3" 3 "gno.land/r/mpj/mood" 3 "gno.land/r/malek/whitelistfactory" @@ -1568,6 +1579,7 @@ 2 "gno.land/r/x1unix/schematest_6" 2 "gno.land/r/wyhaines/gnocial8" 2 "gno.land/r/wyhaines/gnocial4" + 2 "gno.land/r/wyhaines/gnocial16" 2 "gno.land/r/wyhaines/gnocial10" 2 "gno.land/r/varmeta/vmt721" 2 "gno.land/r/vadymspace/hello" @@ -1581,6 +1593,7 @@ 2 "gno.land/r/sdm/echo" 2 "gno.land/r/quanghoangf/hello" 2 "gno.land/r/kouteki/mood" + 2 "gno.land/r/kirk_haines/gnosocial" 2 "gno.land/r/kennethy/hello" 2 "gno.land/r/ilker/counter" 2 "gno.land/r/hellotest/poll" diff --git a/test3.gno.land/backup_0469315-0470829.jsonl b/test3.gno.land/backup_0469315-0470829.jsonl new file mode 100755 index 00000000..535470da --- /dev/null +++ b/test3.gno.land/backup_0469315-0470829.jsonl @@ -0,0 +1,60 @@ +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnocial13","Path":"gno.land/r/wyhaines/gnocial13","Files":[{"Name":"gnocial.gno","Body":"package gnocial13\n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"* All Direct Messages\")\n\t} else {\n\t\toutput.WriteString(\"* Your Direct Messages\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: \", dm.Sender, dm.Receiver, dm.Time.String, dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"gxvujY/LBWHj2VSZNmuj/OMYKB0abKGlj5hQHrRtQKFAcb0VdfoAxZwSh4DBKFDnzi3+QOWNbHK8OG8iE8hdLQ=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469908"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g18l9us6trqaljw39j94wzf5ftxmd9qqkvrxghd2","to_address":"g1gypwf56urpuw40xnmw8w6de8zz7h0s6zk22jwq","amount":"10000000ugnot"}],"fee":{"gas_wanted":"100000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AxjyQBsJI8CesbgwihvS/eQtYKoezyoA9P+FRlLAKRwg"},"signature":"XnYrfsYrtUmvq9G7TUa7F0E40JXc2CESHs2LBbNC3zpvVq7W5AFsD1zsF27vp74SUKo1aMsUUjX09zLx65c3VA=="}],"memo":""},"blockNum":"469923"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g18l9us6trqaljw39j94wzf5ftxmd9qqkvrxghd2","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"10000000ugnot"}],"fee":{"gas_wanted":"100000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AxjyQBsJI8CesbgwihvS/eQtYKoezyoA9P+FRlLAKRwg"},"signature":"FVxrzY3T5AZR3WZCD4QMHHblGkYuGxLTSD6zmScZtOt4Pop24soFf+Ko9Cob1s2uBlTngg3qANSkZsCPqA5Fnw=="}],"memo":""},"blockNum":"469936"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g18l9us6trqaljw39j94wzf5ftxmd9qqkvrxghd2","to_address":"g16fy26gwg902qqgwmay4jnemlcc3asx7k3qh4yn","amount":"10000000ugnot"}],"fee":{"gas_wanted":"100000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AxjyQBsJI8CesbgwihvS/eQtYKoezyoA9P+FRlLAKRwg"},"signature":"cJDoSsugAOx7hW39c+tGwJ/4vMrNjd6iWxNHWsUmK4EOVqIwuYJ5NS06Yt7M3RJOm0HCo5mRaNFLUwWR22y1aA=="}],"memo":""},"blockNum":"469940"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"Bor/cs0lFIuI2X23pTG0FfbATfC6dSMR2tbcbCyPtP9AHl1p7z1+8oLcJ7n2rO1uSM+NzLIQEwRD67xCkjMYtw=="}],"memo":""},"blockNum":"469946"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","package":{"Name":"raffleentry","Path":"gno.land/r/dragicevicb/raffleentry","Files":[{"Name":"package.gno","Body":"package raffleentry\nimport (\n \"/r/leon/staging/raffle/raffle\"\n)\n\nfunc init(){\n raffle.RegisterCode(wmd%WRcYVc)\n}"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AimRwMeXE1YZqRpjQbxhh2Bg6dNaTJcTYJlyB8lKbDOU"},"signature":"/XlLqjtB0iaSFzvres/YS2KFz0HPHRbklIHpmjWOwh4RfB66WAvymmWT/hoFRD6TP6yDWlHl/kqUcJyGjayUCA=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469948"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g18l9us6trqaljw39j94wzf5ftxmd9qqkvrxghd2","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"10000000ugnot"}],"fee":{"gas_wanted":"100000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AxjyQBsJI8CesbgwihvS/eQtYKoezyoA9P+FRlLAKRwg"},"signature":"DeBLF2kQJsegMB0dCZe7zpfRfGRyVUHC2elAjf0/Qw1aY/yFWHLANv9rLQb1OU0di40pejehwesC9ZmOXHfEVA=="}],"memo":""},"blockNum":"469950"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","package":{"Name":"raffleentry","Path":"gno.land/r/dragicevicb/raffleentry","Files":[{"Name":"package.gno","Body":"package raffleentry\nimport raffle\n\nfunc init(){\n raffle.RegisterCode(wmd%WRcYVc)\n}"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AimRwMeXE1YZqRpjQbxhh2Bg6dNaTJcTYJlyB8lKbDOU"},"signature":"dcHEUzG+kQikAh8BXe35YXot6U3fI2fTWKQ2DOKYDWc8K9wdWpwAcKO6blTrdMybFlSWXL5/S+wd+VZS9qPQ7w=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469952"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","package":{"Name":"raffleentry","Path":"gno.land/r/dragicevicb/raffleentry","Files":[{"Name":"package.gno","Body":"package raffleentry\n\nimport /gno.land/r/leon/staging/raffle\n\nfunc init(){\n raffle.RegisterCode(wmd%WRcYVc)\n}"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AimRwMeXE1YZqRpjQbxhh2Bg6dNaTJcTYJlyB8lKbDOU"},"signature":"eDTEnK/pVmYUmGFYTUX4tb99aenpDadWsSf/5OPo9UhZIxSyHnF78JUgjS7Yl6YmjG4XD5DR0mc3IvDbWIp0Mw=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469955"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","package":{"Name":"raffleentry","Path":"gno.land/r/dragicevicb/raffleentry","Files":[{"Name":"package.gno","Body":"package raffleentry\n\nimport /gno.land/r/leon/staging/raffle\n\nfunc init(){\n raffle.RegisterCode(\"wmd%WRcYVc\")\n}"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AimRwMeXE1YZqRpjQbxhh2Bg6dNaTJcTYJlyB8lKbDOU"},"signature":"R7mNt0x8PWxJ2RVB9CEmb37gAxWRQw0ykUK8eVQzgPAaj+gOdVxWGtvqTDBxouFWgeoYhmQMklLqTVq/EsEk5A=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469957"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","package":{"Name":"raffleentry","Path":"gno.land/r/dragicevicb/raffleentry","Files":[{"Name":"package.gno","Body":"package raffleentry\n\nimport (\n \"gno.land/r/leon/staging/raffle\"\n)\n\nfunc init(){\n raffle.RegisterCode(\"wmd%WRcYVc\")\n}"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AimRwMeXE1YZqRpjQbxhh2Bg6dNaTJcTYJlyB8lKbDOU"},"signature":"OAFfFlihB+045BkAcAC4MrsXL9AF1F2bYHCDUVQ79+Bw8oYB3AUsTARUvz8M5nw2yQMviRFcM/oDf2uwSDtTkw=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469959"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","package":{"Name":"raffleentry","Path":"gno.land/r/dragicevicb/raffleentry","Files":[{"Name":"package.gno","Body":"package raffleentry\n\nimport (\n \"gno.land/r/leon/staging/raffle/raffle\"\n)\n\nfunc init(){\n raffle.RegisterCode(\"wmd%WRcYVc\")\n}"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AimRwMeXE1YZqRpjQbxhh2Bg6dNaTJcTYJlyB8lKbDOU"},"signature":"W10z7y+YhIKWXI+SlTTzdrLn0iO7ApeWuTJta5fF0jshaADl/H4wmNJnG52f8x0qKpMRlHiENas0GYrUJA1SWQ=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469962"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","package":{"Name":"raffleentry","Path":"gno.land/r/dragicevicb/raffleentry","Files":[{"Name":"package.gno","Body":"package raffleentry\n\nimport (\n \"gno.land/r/leon/staging/raffle\"\n)\n\nfunc init(){\n raffle.RegisterCode(\"wmd%WRcYVc\")\n}"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"AimRwMeXE1YZqRpjQbxhh2Bg6dNaTJcTYJlyB8lKbDOU"},"signature":"z+wDBQlkUAudO3PUjMj3ib/nQOcuedkNHs5HxnT52PkY28lYvkcIYettY4R5aYf271qwOEX485qQvUc2WUiQ9A=="}],"memo":"Deployed through play.gno.land"},"blockNum":"469972"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"JLavDxDwpFbNE+D9+u6n3/4aSKoMf6pzppsfLBPHZEFY0Wwy+SK8VN/RoSD0fEEcH8mfSMbt2v+Buaut9iEuSw=="}],"memo":""},"blockNum":"469974"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1gypwf56urpuw40xnmw8w6de8zz7h0s6zk22jwq","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"v/zPiagrrFuhQwoTis1rYkF2G2ONDCs5+NT8eXDOTIZXTlN6lNT9/AW0jLdO+aqMMqzGZJWuhUc/lpuHvdo3Dw=="}],"memo":""},"blockNum":"469996"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnocial13_1","Path":"gno.land/r/wyhaines/gnocial13_1","Files":[{"Name":"gnocial.gno","Body":"package gnocial13\n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"* All Direct Messages\")\n\t} else {\n\t\toutput.WriteString(\"* Your Direct Messages\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: \", dm.Sender, dm.Receiver, dm.Time.String, dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"RvQpfz2lYXdA09J3YR32mHcWQRZIAq27JNrKq2Nt5EEmWmJ7tOt2hIW6xa6C947ZKmLN5il+r9KFflUUGv7VsA=="}],"memo":"Deployed through play.gno.land"},"blockNum":"470003"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnocial14","Path":"gno.land/r/wyhaines/gnocial14","Files":[{"Name":"gnocial.gno","Body":"package gnocial14\n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"* All Direct Messages\")\n\t} else {\n\t\toutput.WriteString(\"* Your Direct Messages\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: \", dm.Sender, dm.Receiver, dm.Time.String, dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"5AWXaKROwTXiEFEqIa9B4jLYXX6kXAMMjLv9PaKyeXRAELRddh8Iuag4tZvy+M/yRHIDP7hG/w1ULf/r9M0AxQ=="}],"memo":"Deployed through play.gno.land"},"blockNum":"470005"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial14","func":"CreatePost","args":["This is a test post. One Two Three."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"mcPcmJ4m8kJBsF3FtoiJig1cgooMS3Au0UjoskX1tw1/fYpfwbErTe7dfOUA6WmheZPJ5XoIhFlNkzl7PzZprw=="}],"memo":"Called through gno.studio"},"blockNum":"470013"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial14","func":"CreatePost","args":["This is another test post. A B C."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"boBpYrujkuILAlbHJytZccCkNrJKdvRmQZbMGFQkGnVPYY7mzB1ePeoDVGXqF+dBzmjf20iTg1XEx2MjpXyeUA=="}],"memo":"Called through gno.studio"},"blockNum":"470015"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial14","func":"SendDirectMessage","args":["g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","Just talk talk talking. Talking to myself."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"10bmBpGRaRaWuoKhWPCI3zG1BVJW+aXrFQ09V8Ep7BcoQ6m4esi1f5bO26oQ2EVLDdRctBgTOwAGH0irkUM+sQ=="}],"memo":"Called through gno.studio"},"blockNum":"470017"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial14","func":"RenderDMs","args":null}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"MkzxBcRbZ/nFrkcqmpOv9JUeMiJSBfmvK1h8Cs5ZfWt1C+PooI2Zwi8S89uu7LOUQr5ZVZeBqeX4fmc7n5yTMw=="}],"memo":"Called through gno.studio"},"blockNum":"470022"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnocial15","Path":"gno.land/r/wyhaines/gnocial15","Files":[{"Name":"gnocial.gno","Body":"package gnocial15\n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"* All Direct Messages\")\n\t} else {\n\t\toutput.WriteString(\"* Your Direct Messages\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: %s\", dm.Sender, dm.Receiver, dm.Time.String, dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"F6mOo0dZEdxoBQ+RC9gLfLLDSoG96PnEb7U8A2NGnypd/5XniC2RHnlNJPLiJX+qpKKFkOlsXiO1R7mjgfpwTw=="}],"memo":"Deployed through play.gno.land"},"blockNum":"470025"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial15","func":"CreatePost","args":["This is a post."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"BvY1lYV0OS/1UJPpy+e4tHQnoumGaEz8tOEMtwBHtcglr35hgVkxZs9mKQdzGp6KamC7GCw5FJDmUezpO7uSWg=="}],"memo":"Called through gno.studio"},"blockNum":"470027"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial15","func":"CreatePost","args":["This is a totally different post."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"H5ejlKEOkkFkOGOxoNk5bIKqdV7/w/bP4kSghqLXCDo6uEzXKvMXzvv2WzFz3jLI7KrOwRht/OpiiWGSNQPCIQ=="}],"memo":"Called through gno.studio"},"blockNum":"470029"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial15","func":"SendDirectMessage","args":["g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","This is a message."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"ct29OWwCLoqSlhWxQSmN07eJP34veaPochkG96QhErNs3Au35mZ8e5h3gOokmMpdGG8t/nLVsMzz9W5bjWSGWw=="}],"memo":"Called through gno.studio"},"blockNum":"470031"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnocial16","Path":"gno.land/r/wyhaines/gnocial16","Files":[{"Name":"gnocial.gno","Body":"package gnocial16 \n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"* All Direct Messages\")\n\t} else {\n\t\toutput.WriteString(\"* Your Direct Messages\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: %s\", dm.Sender, dm.Receiver, dm.Time.String(), dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"IS9Kz2muCcvvL38A9jbgKIVnn8yJybA+cMEBrJlM7FBwAtWYEFwDrSRmUP2sxPo0y6v9g8VIzk/qUf5XoELtDg=="}],"memo":"Deployed through play.gno.land"},"blockNum":"470035"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial16","func":"CreatePost","args":["Let's make a post!"]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"RilXTXhGjqGWj1Pk7w3h/Is0iYOU6M8qqdzj8G7sP4FacyM+ifkHSn1TknZPswlBwH9GNE0SGw7N+7vm4kXhuw=="}],"memo":"Called through gno.studio"},"blockNum":"470037"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"h8evexSYR10TRcZI2iEewHBQjnWI7WA2Evz2jwoHlDJipWea+ZHGWmKnEZkfvLpyxiKlFy/FqCLpf22xGOlYuA=="}],"memo":""},"blockNum":"470039"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnocial16","func":"SendDirectMessage","args":["g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","Hey, this is pretty cool!"]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"iOl7bGiKJfXbyADy/tNT7mDAKO/JLnfgLh7nXcpPPlESEfp1r8BPgf4SWXKB5G2814y4DRQVaBjqn8xPpixKiA=="}],"memo":"Called through gno.studio"},"blockNum":"470041"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnosocial","Path":"gno.land/r/wyhaines/gnosocial","Files":[{"Name":"gnocial.gno","Body":"package gnosocial\n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"* All Direct Messages\")\n\t} else {\n\t\toutput.WriteString(\"* Your Direct Messages\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: %s\", dm.Sender, dm.Receiver, dm.Time.String(), dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"5fg5mlK8UyAyGo8R2DgCV/KyyAxIa2VF+0urm9CbzIswLOkfiHxZQryuHKajtSiMoKZF5zii8F6rz/5PAArzbg=="}],"memo":"Deployed through play.gno.land"},"blockNum":"470047"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnosocial","func":"RenderDMs","args":null}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"mvDb9gIb89RSvaUrFuNWPwbQJadQJlmIukYhTJ7W2CAmf56dXDUaWQftJHAs5O08EVgZNjYdYtoptmN0RiQtNQ=="}],"memo":"Called through gno.studio"},"blockNum":"470077"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnosocial","func":"SendDirectMessage","args":["g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","Hey, this is pretty cool! Now it just needs a nice front end, and maybe another small feature or two."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"sLMkLrJDV5jSYVJhoAl50tLdyqJfy3XFsqeXQ70reptcpxS874gR020pyIGbhlA+hrtNg16KLP+zlu28JYQcpw=="}],"memo":"Called through gno.studio"},"blockNum":"470079"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/wyhaines/gnosocial","func":"RenderDMs","args":null}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"lXf+bEUvYO80uZ4T4HT6sIU0xc5xNjZjMDJTJea16BUOnbU6hhRDPheBWoj3CHszzjJaynyfP6/q8IbmqvUuvw=="}],"memo":"Called through gno.studio"},"blockNum":"470081"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1gypwf56urpuw40xnmw8w6de8zz7h0s6zk22jwq","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"FPZpJ6Svd3ng15hxeqYEhNmCF3Mk7JPK56iO/Th3qwoTaqErq4zrURsylJjZkpKTT2bnzVG/msbO56wX2efI8A=="}],"memo":""},"blockNum":"470092"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1gypwf56urpuw40xnmw8w6de8zz7h0s6zk22jwq","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"5fNlAKBEViKl7WLoOiQsmZhH6GdfRr6LShk/dgQMtw4mB4moHjSFiU01/YOY4UmZI68XXVcjYZmhqEh9jhbRPA=="}],"memo":""},"blockNum":"470095"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"f8WviXncJBzzS+ZZUeCV51pkuNoaHmXRSOxnpqWPdwEBTv788VPjuYMUgUAG1t3iEg1Vl0qVDyhtzhksocSlYQ=="}],"memo":""},"blockNum":"470097"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1gypwf56urpuw40xnmw8w6de8zz7h0s6zk22jwq","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"56GVf/iYvuVhd+btWEcinfmOpjmlJ2sRzAOMumrlEd4ZLXjtBb37geBNmUbSMyUoMK2WjUT1k39zOsuCpYlXOw=="}],"memo":""},"blockNum":"470100"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1gypwf56urpuw40xnmw8w6de8zz7h0s6zk22jwq","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"k/9Abt2k6y21Tr8XIFtLHU8KDYW6RpWID59aJssKcVoGMvKLkoiwCLKTjYhH0F/mcSykvi3Y15tT8XZ0h/hv4Q=="}],"memo":""},"blockNum":"470102"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnosocial","Path":"gno.land/r/wyhaines/gnosocial","Files":[{"Name":"gnocial.gno","Body":"package gnosocial\n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\\n\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\\n\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"# All Direct Messages\\n\")\n\t} else {\n\t\toutput.WriteString(\"# Your Direct Messages\\n\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: %s\\n\", dm.Sender, dm.Receiver, dm.Time.String(), dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"VFKU6IOMDvtuakCv4wTaqMnhQvKnYHIgyul4GuRAyg0RKbDM2GemNwlDDuoJlsbcEb2UiqhR9KiF+SssGZzDCA=="}],"memo":"Deployed through play.gno.land"},"blockNum":"470104"} +{"tx":{"msg":[{"@type":"/vm.m_addpkg","creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","package":{"Name":"gnosocial","Path":"gno.land/r/kirk_haines/gnosocial","Files":[{"Name":"gnocial.gno","Body":"package gnosocial\n\nimport (\n\t\"gno.land/p/demo/ufmt\"\n\t\"std\"\n\t\"strings\"\n\t\"time\"\n)\n\ntype Post struct {\n\tAuthor std.Address\n\tContent string\n\tTime time.Time\n}\n\ntype DirectMessage struct {\n\tSender std.Address\n\tReceiver std.Address\n\tContent string\n\tTime time.Time\n}\n\nvar posts []Post\nvar directMessages []DirectMessage\n\n// Post your thoughts.\n//\n// Enter a post below, and then press the `Call` button.\n//\n// The post will be recorded along with your address for everyone else to read.\nfunc CreatePost(content string) {\n\tnewPost := Post{\n\t\tAuthor: std.GetOrigCaller(),\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tposts = append(posts, newPost)\n}\n\n// Talk with someone else! Enter their address, and the message that you want\n// to send to them below, and then press the `Call` button.\nfunc SendDirectMessage(receiver std.Address, content string) {\n\tnewDM := DirectMessage{\n\t\tSender: std.GetOrigCaller(),\n\t\tReceiver: receiver,\n\t\tContent: content,\n\t\tTime: time.Now(),\n\t}\n\tdirectMessages = append(directMessages, newDM)\n}\n\n// Call this to see all of the current posts.\nfunc RenderPosts() string {\n\tvar output strings.Builder\n\toutput.WriteString(\"# All Posts\\n\")\n\tfor _, post := range posts {\n\t\toutput.WriteString(ufmt.Sprintf(\"* %s @ %s: %s\\n\", post.Time.String(), post.Author, post.Content))\n\t}\n\treturn output.String()\n}\n\n// Call this to see your messages.\nfunc RenderDMs() string {\n\tvar output strings.Builder\n\tcaller := std.GetOrigCaller()\n\n\tif caller == \"\" {\n\t\toutput.WriteString(\"# All Direct Messages\\n\")\n\t} else {\n\t\toutput.WriteString(\"# Your Direct Messages\\n\")\n\t}\n\n\tfor _, dm := range directMessages {\n\t\tif caller == \"\" || dm.Sender == caller || dm.Receiver == caller {\n\t\t\toutput.WriteString(ufmt.Sprintf(\"* From: %s to: %s @ %s: %s\\n\", dm.Sender, dm.Receiver, dm.Time.String(), dm.Content))\n\t\t}\n\t}\n\treturn output.String()\n}\n\n// Calling Render() with `/posts` will return an HTML string with all of the current posts.\n// Calling Render() with `/dms` will return an HTML string with all of the current direct messages.\nfunc Render(path string) string {\n\tcommand := \"\"\n\tif idx := strings.Index(path, \"/\"); idx \u003e= 0 {\n\t\tcommand = path[idx+1:]\n\t}\n\n\tswitch command {\n\tcase \"posts\":\n\t\treturn RenderPosts()\n\tcase \"dms\":\n\t\treturn RenderDMs()\n\tdefault:\n\t\treturn \"Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages.\"\n\t}\n}\n"}]},"deposit":"1ugnot"}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"Q9CKAams9ayaLAFthfhVp9ud6dafStB6ELMCgYTvzSkJYfwBUXZgZZdC1wevP08xVN6zIMffC7MdhpYTJKItjw=="}],"memo":"Deployed through play.gno.land"},"blockNum":"470106"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g16fy26gwg902qqgwmay4jnemlcc3asx7k3qh4yn","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"fc/mXdBMrWEEEx7jYPxPThQwJOnWEjwhoxtWhPQIQE4RRY9Mzk+UJ51AVe1EuvHo2WlV4KapOmXS5DrIr7dl5A=="}],"memo":""},"blockNum":"470108"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/kirk_haines/gnosocial","func":"SendDirectMessage","args":["g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","Hey! This is really cool. It just needs a few more small features."]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"YoaKf0Re73plrbRoxm57rQI63dRF+3qCE9Pz4Zj+QDJn8WU87smcNLFGQsdCBnlPa6DNYYvzCFbnwEIt+++OFQ=="}],"memo":"Called through gno.studio"},"blockNum":"470110"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"NB7JTwtSZHl0RwS94BdrEzOStsUUCe9jpVWFgv7BsOdatX0XPnf+JhLN2cT1HywRaqNI3n0h6VEQLWgD2jICzw=="}],"memo":""},"blockNum":"470125"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"4dA/f/wO2dMXsb4Et6W/FRjmfYNG1wh8/ha+1qqhYpJQrLogFV2V8yQF9Tkjrr/NvaFcV0pPMJOMaqwirP96+w=="}],"memo":""},"blockNum":"470128"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"QZ7Oy0Q6SVlUAZPVh4W2wNEMLcy5OmUKwuowhi7E3tZ3nTvoxWUbHZoJhwme8DpMMcW7dcYyf+c8Md31v6bIUg=="}],"memo":""},"blockNum":"470130"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"E4rJnmJIY6DhS/0EjKhCFkBIUP5SexAsclH9ur4EQfhjb7HX2CvUKMo5W5h0B3SoDT95Y2iOQn34ZUNZUUmN9w=="}],"memo":""},"blockNum":"470146"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g16fy26gwg902qqgwmay4jnemlcc3asx7k3qh4yn","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"BBotgXwmL5WOXvXgBfF9PNjPZYdgQUCkR2TiyemliiRTg1mZZq0FUbuBMGjFfNoNU6HkLUwhTQ3CZCfZNiBv6g=="}],"memo":""},"blockNum":"470148"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1gypwf56urpuw40xnmw8w6de8zz7h0s6zk22jwq","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"CRKxOjRLmnnAqxzaXQXS9zK+7nSvvsDg/UpgGC+0fMVbgP/vIxgvjrZOLpA2KCzT0o1LCRxn6+3NMXJj8ECQew=="}],"memo":""},"blockNum":"470150"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"h8McIVuG74VKUt0Ylrl4GZpZx3DJPAvYk2GjtJfRvwsMqN5PL0CjhMrhvDmxntTl8TBLWGnMtOiIUwPGjpYFzg=="}],"memo":""},"blockNum":"470153"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"JjgpN/LnhpcJvvt6fYq1JkkyIGWLIeUEKx125Mhgt6IIpFl6KIZPfaQKAMyfsDdKL8Ih5DYqIVmzStd5JBf+MQ=="}],"memo":""},"blockNum":"470302"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"QjKAl/kopgBfZTpgQAHNfeLrkH+cHoBO4IhvjaXlRT0ZsL39zg0z33Rhp8C2KFinCUunASdDgjU92WvPOYgitA=="}],"memo":""},"blockNum":"470304"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"m/BID31cj30fbGgKEzW4GJJg2m8q6XtF/DtX+sfUEWFBeRZ4bawJtpmRaayU+a2kU7KN5Wz1buTReA5CA5efNw=="}],"memo":""},"blockNum":"470307"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"eMvOj8IgPDJxPBq3HO81weZq1mBGb5uorgkC6ErlDBhismORdmQLQPIjABiTObpkmQan24NocROgUvbYz5kvyg=="}],"memo":""},"blockNum":"470334"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"KVFrJA04qXXfdPdWCi+wCre5odUelyKvK1DTTWfeIcBjSR/vshGcWXIaqLHUUmlMsp3cHDVyAijaY/NPAEw7ng=="}],"memo":""},"blockNum":"470337"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"/IlYiMZYdin67cUhbfgwmlNxtj6pA2O1j640WhYS2s9E0fEbJRiWLTGqlV430HHi0Ho4AC13bQvVhUw/qLrdCA=="}],"memo":""},"blockNum":"470340"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"j5RfePmcFLpPLO9Zmywjjjtf/t77A4j7d+KjT6BG/P1Y2zLEG/XWhJG256ymHY8bBfZYHoB59nGMY671+Y3pPQ=="}],"memo":""},"blockNum":"470342"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"bkzDgWXsR2OwPwTknMkDmH/GS2pOPBV3Y8yoOByAJCsKfUDCNRCi/39hYVi4xqE1yM9L7uCZAL2lk97/LmVK+Q=="}],"memo":""},"blockNum":"470346"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"5ug/hzBVqDa4h9zwdyxgi5+2yjivybE/0wX+cNaggkcqkV1SWnJfqqmv/4guNvmccRwQmvjMbll6LxEokV1yTA=="}],"memo":""},"blockNum":"470349"} +{"tx":{"msg":[{"@type":"/bank.MsgSend","from_address":"g13d7jc32adhc39erm5me38w5v7ej7lpvlnqjk73","to_address":"g1jsfz4dpel62frepkwvc3wvfel082tx6dne5vax","amount":"20000000ugnot"}],"fee":{"gas_wanted":"2000000","gas_fee":"1ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A/+cjV0/gZkWzMqCul8aP5hC7M3yliIs17uinn/+66uR"},"signature":"O7d31uAjAVQYwRQesK1conknIrastCdD1aourcpaXsB71B2qpOTFvzd0SZg8tOzWPL5DK8zzmAUA1TScJCR1wA=="}],"memo":""},"blockNum":"470351"} +{"tx":{"msg":[{"@type":"/vm.m_call","caller":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","send":"","pkg_path":"gno.land/r/kirk_haines/gnosocial","func":"CreatePost","args":["Welcome to Gnosocial. Please post something!"]}],"fee":{"gas_wanted":"10000000","gas_fee":"50000ugnot"},"signatures":[{"pub_key":{"@type":"/tm.PubKeySecp256k1","value":"A+8e+xKl/HkBcdwQCmlkKhoekH4RUvskOJan85VTUFix"},"signature":"LVn3po8PV4uJsluhN+zoSuqwAK9lKF3qHLo1GepvtB5m9z5R9cOCpWDN8Ngx1bctT81cEkasqtwTuOGpdROzvg=="}],"memo":"Called through gno.studio"},"blockNum":"470516"} diff --git a/test3.gno.land/extracted/p/demo/hyperborea/package.gno b/test3.gno.land/extracted/p/demo/hyperborea/package.gno index 50e02b9b..d36874bc 100644 --- a/test3.gno.land/extracted/p/demo/hyperborea/package.gno +++ b/test3.gno.land/extracted/p/demo/hyperborea/package.gno @@ -1,34 +1,5 @@ -package foo - -import ( - "std - "strings - - "gno.land/p/demo/grc/grc20 - "gno.land/p/demo/ufmt - "gno.land/r/demo/users" -) - -var ( - foo *grc20.AdminToken - admin std.address = "g1zakcnjtwj0rs9ejtr5c0gqlnus50xny8frar5n" -) - -func init() { - hyperborea = grc20.NewAdminToken("Hyperborea","HYPERBOREA", 6) - hyperborea.Mint(admin,8888888) // @administrator - } - - // method proxies as public functions. - // - - // getters. - - func TotalSupply() uint64 { - return hyperborea.TotalSupply/() - } - - func BalanceOf(owner users.AddressOrName) uint64 { - balance, err := hyperborea.BalanceOf(owner.Resolve()) +package hello +func Render(path string) string { + return "Hello World!" } diff --git a/test3.gno.land/extracted/p/demo2/hello/pkg_metadata.json b/test3.gno.land/extracted/p/demo2/hello/pkg_metadata.json index 18bf8ca3..ae588b94 100644 --- a/test3.gno.land/extracted/p/demo2/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/p/demo2/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g100xslzk674xuv3s0q8yp44cr63l26z2y4n7ycg","deposit":""} \ No newline at end of file +{"creator":"g1at4q8pkwwll82azmxek7enpvyhh2c94mmk2c67","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/p/hello/hello/pkg_metadata.json b/test3.gno.land/extracted/p/hello/hello/pkg_metadata.json index b9a58d0c..625ff7ea 100644 --- a/test3.gno.land/extracted/p/hello/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/p/hello/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1gy76zgcx98rwg4shsm7ket8r3qny9gzdpyjhwm","deposit":""} \ No newline at end of file +{"creator":"g1uf8u5jf2m9l80g0zsfq7tufl3qufqc4393jtkl","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/p/test/hello/pkg_metadata.json b/test3.gno.land/extracted/p/test/hello/pkg_metadata.json index cc61504f..5235ccf7 100644 --- a/test3.gno.land/extracted/p/test/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/p/test/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g15x46up6w3v9ey7wkltf05jt20pa6g39kkjjx8a","deposit":""} \ No newline at end of file +{"creator":"g1fsu3z335h5qngf7t3lmakvpmpwg9ae76tqwh7c","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/asd/hello/package.gno b/test3.gno.land/extracted/r/asd/hello/package.gno index 7371e8ba..d36874bc 100644 --- a/test3.gno.land/extracted/r/asd/hello/package.gno +++ b/test3.gno.land/extracted/r/asd/hello/package.gno @@ -1,5 +1,5 @@ package hello -func Render(path string) a string { +func Render(path string) string { return "Hello World!" } diff --git a/test3.gno.land/extracted/r/asd/hello/pkg_metadata.json b/test3.gno.land/extracted/r/asd/hello/pkg_metadata.json index 5235ccf7..5d7dd79e 100644 --- a/test3.gno.land/extracted/r/asd/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/r/asd/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1fsu3z335h5qngf7t3lmakvpmpwg9ae76tqwh7c","deposit":"1ugnot"} \ No newline at end of file +{"creator":"g1yc0x2kj67mj564zsjyp27t5zya5eynnrdqkpqv","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/apple/GRC20.gno b/test3.gno.land/extracted/r/demo/apple/GRC20.gno index c3867609..cd273623 100644 --- a/test3.gno.land/extracted/r/demo/apple/GRC20.gno +++ b/test3.gno.land/extracted/r/demo/apple/GRC20.gno @@ -11,7 +11,7 @@ import ( var ( apple *grc20.AdminToken - admin std.Address = "g1sycj68ur0n7xytglx0me3f207ktudm80aqpysm" + admin std.Address = "g1hqzeju0p0eup9rgxa0pxvyc0y7wnzjrdvppsy5" ) func init() { diff --git a/test3.gno.land/extracted/r/demo/apple/pkg_metadata.json b/test3.gno.land/extracted/r/demo/apple/pkg_metadata.json index 8a00c6df..59b3c1cc 100644 --- a/test3.gno.land/extracted/r/demo/apple/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/apple/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1sycj68ur0n7xytglx0me3f207ktudm80aqpysm","deposit":""} \ No newline at end of file +{"creator":"g1098kpwkwv3r08cat9ssucrq4mznxyv855jgqvx","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/asa/GRC20.gno b/test3.gno.land/extracted/r/demo/asa/GRC20.gno index d6787497..fe596451 100644 --- a/test3.gno.land/extracted/r/demo/asa/GRC20.gno +++ b/test3.gno.land/extracted/r/demo/asa/GRC20.gno @@ -11,7 +11,7 @@ import ( var ( asa *grc20.AdminToken - admin std.Address = "g19xw9uzlcr3jefwx6dpmr6c0erg5kc65zlj8r4e" + admin std.Address = "g1hqzeju0p0eup9rgxa0pxvyc0y7wnzjrdvppsy5" ) func init() { diff --git a/test3.gno.land/extracted/r/demo/asa/pkg_metadata.json b/test3.gno.land/extracted/r/demo/asa/pkg_metadata.json index bd42be48..1ef53319 100644 --- a/test3.gno.land/extracted/r/demo/asa/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/asa/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g19xw9uzlcr3jefwx6dpmr6c0erg5kc65zlj8r4e","deposit":""} \ No newline at end of file +{"creator":"g15gsy3nlxxjn0knd3xkucg4f6gf79tfwhg426sw","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/demo/GRC20.gno b/test3.gno.land/extracted/r/demo/demo/GRC20.gno index 1991ebc4..e2abc345 100644 --- a/test3.gno.land/extracted/r/demo/demo/GRC20.gno +++ b/test3.gno.land/extracted/r/demo/demo/GRC20.gno @@ -1,4 +1,4 @@ -package pup +package usdc import ( "std" @@ -10,13 +10,13 @@ import ( ) var ( - pup *grc20.AdminToken - admin std.Address = "g1j8jwsce3vcry6s8qmmkxuwuhzww0j8396n3rgm" + usdc *grc20.AdminToken + admin std.Address = "g17k3jmr2xdwhu6xzcqh5uwu56644ccptrmhy5d0" ) func init() { - pup = grc20.NewAdminToken("pupToken", "pup", 6) - pup.Mint(admin, 1000000000) // @administrator + usdc = grc20.NewAdminToken("UpSideDownCapo", "USDC", 6) + USDC.Mint(admin, 1000000000) // @administrator } // method proxies as public functions. @@ -25,11 +25,11 @@ func init() { // getters. func TotalSupply() uint64 { - return pup.TotalSupply() + return usdc.TotalSupply() } func BalanceOf(owner users.AddressOrName) uint64 { - balance, err := pup.BalanceOf(owner.Resolve()) + balance, err := usdc.BalanceOf(owner.Resolve()) if err != nil { panic(err) } @@ -37,7 +37,7 @@ func BalanceOf(owner users.AddressOrName) uint64 { } func Allowance(owner, spender users.AddressOrName) uint64 { - allowance, err := pup.Allowance(owner.Resolve(), spender.Resolve()) + allowance, err := usdc.Allowance(owner.Resolve(), spender.Resolve()) if err != nil { panic(err) } @@ -48,17 +48,17 @@ func Allowance(owner, spender users.AddressOrName) uint64 { func Transfer(to users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - pup.Transfer(caller, to.Resolve(), amount) + usdc.Transfer(caller, to.Resolve(), amount) } func Approve(spender users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - pup.Approve(caller, spender.Resolve(), amount) + usdc.Approve(caller, spender.Resolve(), amount) } func TransferFrom(from, to users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - pup.TransferFrom(caller, from.Resolve(), to.Resolve(), amount) + usdc.TransferFrom(caller, from.Resolve(), to.Resolve(), amount) } // administration. @@ -66,13 +66,13 @@ func TransferFrom(from, to users.AddressOrName, amount uint64) { func Mint(address users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() assertIsAdmin(caller) - pup.Mint(address.Resolve(), amount) + usdc.Mint(address.Resolve(), amount) } func Burn(address users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() assertIsAdmin(caller) - pup.Burn(address.Resolve(), amount) + usdc.Burn(address.Resolve(), amount) } // render. @@ -84,10 +84,10 @@ func Render(path string) string { switch { case path == "": - return pup.RenderHome() + return usdc.RenderHome() case c == 2 && parts[0] == "balance": owner := users.AddressOrName(parts[1]) - balance, _ := pup.BalanceOf(owner.Resolve()) + balance, _ := usdc.BalanceOf(owner.Resolve()) return ufmt.Sprintf("%d\n", balance) default: return "404\n" diff --git a/test3.gno.land/extracted/r/demo/demo/pkg_metadata.json b/test3.gno.land/extracted/r/demo/demo/pkg_metadata.json index 048a0559..8b753d0d 100644 --- a/test3.gno.land/extracted/r/demo/demo/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/demo/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1j8jwsce3vcry6s8qmmkxuwuhzww0j8396n3rgm","deposit":""} \ No newline at end of file +{"creator":"g17k3jmr2xdwhu6xzcqh5uwu56644ccptrmhy5d0","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/gemcoin/GRC20.gno b/test3.gno.land/extracted/r/demo/gemcoin/GRC20.gno index 61adf14d..6f224995 100644 --- a/test3.gno.land/extracted/r/demo/gemcoin/GRC20.gno +++ b/test3.gno.land/extracted/r/demo/gemcoin/GRC20.gno @@ -1,4 +1,4 @@ -package gemcoin +package GemCoin import ( "std" @@ -10,13 +10,13 @@ import ( ) var ( - gemcoin *grc20.AdminToken + GemCoin *grc20.AdminToken admin std.Address = "g17np07gtd7nj5rh4x582srdhd8247xa3s3us3y3" ) func init() { - gemcoin = grc20.NewAdminToken("gemcoinToken", "GEM", 6) - gemcoin.Mint(admin, 1000000000) // @administrator + GemCoin = grc20.NewAdminToken("GemCoin", "Gem", 6) + GemCoin.Mint(admin, 1000000000) // @administrator } // method proxies as public functions. @@ -25,11 +25,11 @@ func init() { // getters. func TotalSupply() uint64 { - return gemcoin.TotalSupply() + return GemCoin.TotalSupply() } func BalanceOf(owner users.AddressOrName) uint64 { - balance, err := gemcoin.BalanceOf(owner.Resolve()) + balance, err := GemCoin.BalanceOf(owner.Resolve()) if err != nil { panic(err) } @@ -37,7 +37,7 @@ func BalanceOf(owner users.AddressOrName) uint64 { } func Allowance(owner, spender users.AddressOrName) uint64 { - allowance, err := gemcoin.Allowance(owner.Resolve(), spender.Resolve()) + allowance, err := GemCoin.Allowance(owner.Resolve(), spender.Resolve()) if err != nil { panic(err) } @@ -48,17 +48,17 @@ func Allowance(owner, spender users.AddressOrName) uint64 { func Transfer(to users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - gemcoin.Transfer(caller, to.Resolve(), amount) + GemCoin.Transfer(caller, to.Resolve(), amount) } func Approve(spender users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - gemcoin.Approve(caller, spender.Resolve(), amount) + GemCoin.Approve(caller, spender.Resolve(), amount) } func TransferFrom(from, to users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - gemcoin.TransferFrom(caller, from.Resolve(), to.Resolve(), amount) + GemCoin.TransferFrom(caller, from.Resolve(), to.Resolve(), amount) } // administration. @@ -66,13 +66,13 @@ func TransferFrom(from, to users.AddressOrName, amount uint64) { func Mint(address users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() assertIsAdmin(caller) - gemcoin.Mint(address.Resolve(), amount) + GemCoin.Mint(address.Resolve(), amount) } func Burn(address users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() assertIsAdmin(caller) - gemcoin.Burn(address.Resolve(), amount) + GemCoin.Burn(address.Resolve(), amount) } // render. @@ -84,10 +84,10 @@ func Render(path string) string { switch { case path == "": - return gemcoin.RenderHome() + return GemCoin.RenderHome() case c == 2 && parts[0] == "balance": owner := users.AddressOrName(parts[1]) - balance, _ := gemcoin.BalanceOf(owner.Resolve()) + balance, _ := GemCoin.BalanceOf(owner.Resolve()) return ufmt.Sprintf("%d\n", balance) default: return "404\n" diff --git a/test3.gno.land/extracted/r/demo/gggg/pkg_metadata.json b/test3.gno.land/extracted/r/demo/gggg/pkg_metadata.json index 37ae9d45..7c3ba223 100644 --- a/test3.gno.land/extracted/r/demo/gggg/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/gggg/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g14qvahvnnllzwl9ehn3mkph248uapsehwgfe4pt","deposit":"1ugnot"} \ No newline at end of file +{"creator":"g1ccv99f5wjrd2nzkw7md9kkdy7h4yncstzua7ka","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/grass/GRC20.gno b/test3.gno.land/extracted/r/demo/grass/GRC20.gno index 73cd23d1..b2f318d6 100644 --- a/test3.gno.land/extracted/r/demo/grass/GRC20.gno +++ b/test3.gno.land/extracted/r/demo/grass/GRC20.gno @@ -11,12 +11,12 @@ import ( var ( grass *grc20.AdminToken - admin std.Address = "g148vmqxzgp4yc996pasredy3v9sw8sxzsgem0qv" + admin std.Address = "g10jtus48tdlp93l9jw9q0tws5jh7gmpjdtyqkxh" ) func init() { grass = grc20.NewAdminToken("grassToken", "grass", 6) - grass.Mint(admin, 2443000) // @administrator + grass.Mint(admin, 1000000000) // @administrator } // method proxies as public functions. diff --git a/test3.gno.land/extracted/r/demo/grass/pkg_metadata.json b/test3.gno.land/extracted/r/demo/grass/pkg_metadata.json index ce87b5bb..10baacc2 100644 --- a/test3.gno.land/extracted/r/demo/grass/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/grass/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g148vmqxzgp4yc996pasredy3v9sw8sxzsgem0qv","deposit":""} \ No newline at end of file +{"creator":"g10jtus48tdlp93l9jw9q0tws5jh7gmpjdtyqkxh","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/harambe/GRC20.gno b/test3.gno.land/extracted/r/demo/harambe/GRC20.gno index 17e4a290..94992a7d 100644 --- a/test3.gno.land/extracted/r/demo/harambe/GRC20.gno +++ b/test3.gno.land/extracted/r/demo/harambe/GRC20.gno @@ -11,7 +11,7 @@ import ( var ( harambe *grc20.AdminToken - admin std.Address = "g1h6n749m920lvaef2qrpsa2vmssr4sq60ykqks3" + admin std.Address = "g1lk45335udge6nefk733e852rmexrc94m52tdt9" ) func init() { diff --git a/test3.gno.land/extracted/r/demo/harambe/pkg_metadata.json b/test3.gno.land/extracted/r/demo/harambe/pkg_metadata.json index 445b8033..93356881 100644 --- a/test3.gno.land/extracted/r/demo/harambe/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/harambe/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1h6n749m920lvaef2qrpsa2vmssr4sq60ykqks3","deposit":""} \ No newline at end of file +{"creator":"g1lk45335udge6nefk733e852rmexrc94m52tdt9","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/hello/hello.gno b/test3.gno.land/extracted/r/demo/hello/hello.gno index 957da241..8f618807 100644 --- a/test3.gno.land/extracted/r/demo/hello/hello.gno +++ b/test3.gno.land/extracted/r/demo/hello/hello.gno @@ -1,13 +1,9 @@ -package hello +package main -func Hello() string { - return "Hello() called" -} - -// func Render() string { -// return "Render() called" -// } +import ( + "fmt" +) -func Render(path string) string { - return "Render(path string) called with\n# " + path -} \ No newline at end of file +func main() { + fmt.Println("Hello, world!") +} diff --git a/test3.gno.land/extracted/r/demo/hello/pkg_metadata.json b/test3.gno.land/extracted/r/demo/hello/pkg_metadata.json index b9a58d0c..1a02225e 100644 --- a/test3.gno.land/extracted/r/demo/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1gy76zgcx98rwg4shsm7ket8r3qny9gzdpyjhwm","deposit":""} \ No newline at end of file +{"creator":"g1hrfvdh7jdvnlxpk2y20tp3scj9jqal3zzu7wjz","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/hello3/pkg_metadata.json b/test3.gno.land/extracted/r/demo/hello3/pkg_metadata.json index 92e977de..24c455f9 100644 --- a/test3.gno.land/extracted/r/demo/hello3/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/hello3/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1jg8mtutu9khhfwc4nxmuhcpftf0pajdhfvsqf5","deposit":""} \ No newline at end of file +{"creator":"g1ayxdpq5jzqrkedjp57xvdhvf9g6jjwhxt5wn2f","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/ripl/GRC20.gno b/test3.gno.land/extracted/r/demo/ripl/GRC20.gno index cc31f72e..5af2d5ef 100644 --- a/test3.gno.land/extracted/r/demo/ripl/GRC20.gno +++ b/test3.gno.land/extracted/r/demo/ripl/GRC20.gno @@ -1,4 +1,4 @@ -package RIPL +package ripl import ( "std" @@ -10,13 +10,13 @@ import ( ) var ( - RIPL *grc20.AdminToken - admin std.Address = "g1mdgdlen0nzzcycl7fq6dwyqq9qvlnm06gx5h9p" + ripl *grc20.AdminToken + admin std.Address = "g1jcsmkq74jr6uxfpfcytjvruyuqje7lqk2zfxxp" ) func init() { - RIPL = grc20.NewAdminToken("RIPLToken", "RIPL", 6) - RIPL.Mint(admin, 1000000000) // @administrator + ripl = grc20.NewAdminToken("RiplToken", "RIPL", 6) + ripl.Mint(admin, 1000000000) // @administrator } // method proxies as public functions. @@ -25,11 +25,11 @@ func init() { // getters. func TotalSupply() uint64 { - return RIPL.TotalSupply() + return ripl.TotalSupply() } func BalanceOf(owner users.AddressOrName) uint64 { - balance, err := RIPL.BalanceOf(owner.Resolve()) + balance, err := ripl.BalanceOf(owner.Resolve()) if err != nil { panic(err) } @@ -37,7 +37,7 @@ func BalanceOf(owner users.AddressOrName) uint64 { } func Allowance(owner, spender users.AddressOrName) uint64 { - allowance, err := RIPL.Allowance(owner.Resolve(), spender.Resolve()) + allowance, err := ripl.Allowance(owner.Resolve(), spender.Resolve()) if err != nil { panic(err) } @@ -48,17 +48,17 @@ func Allowance(owner, spender users.AddressOrName) uint64 { func Transfer(to users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - RIPL.Transfer(caller, to.Resolve(), amount) + ripl.Transfer(caller, to.Resolve(), amount) } func Approve(spender users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - RIPL.Approve(caller, spender.Resolve(), amount) + ripl.Approve(caller, spender.Resolve(), amount) } func TransferFrom(from, to users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() - RIPL.TransferFrom(caller, from.Resolve(), to.Resolve(), amount) + ripl.TransferFrom(caller, from.Resolve(), to.Resolve(), amount) } // administration. @@ -66,13 +66,13 @@ func TransferFrom(from, to users.AddressOrName, amount uint64) { func Mint(address users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() assertIsAdmin(caller) - RIPL.Mint(address.Resolve(), amount) + ripl.Mint(address.Resolve(), amount) } func Burn(address users.AddressOrName, amount uint64) { caller := std.GetOrigCaller() assertIsAdmin(caller) - RIPL.Burn(address.Resolve(), amount) + ripl.Burn(address.Resolve(), amount) } // render. @@ -84,10 +84,10 @@ func Render(path string) string { switch { case path == "": - return RIPL.RenderHome() + return ripl.RenderHome() case c == 2 && parts[0] == "balance": owner := users.AddressOrName(parts[1]) - balance, _ := RIPL.BalanceOf(owner.Resolve()) + balance, _ := ripl.BalanceOf(owner.Resolve()) return ufmt.Sprintf("%d\n", balance) default: return "404\n" diff --git a/test3.gno.land/extracted/r/demo/ripl/pkg_metadata.json b/test3.gno.land/extracted/r/demo/ripl/pkg_metadata.json index 7db432c4..d9b539e5 100644 --- a/test3.gno.land/extracted/r/demo/ripl/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/ripl/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1mdgdlen0nzzcycl7fq6dwyqq9qvlnm06gx5h9p","deposit":""} \ No newline at end of file +{"creator":"g1jcsmkq74jr6uxfpfcytjvruyuqje7lqk2zfxxp","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/test/package.gno b/test3.gno.land/extracted/r/demo/test/package.gno index 8b137891..d36874bc 100644 --- a/test3.gno.land/extracted/r/demo/test/package.gno +++ b/test3.gno.land/extracted/r/demo/test/package.gno @@ -1 +1,5 @@ +package hello +func Render(path string) string { + return "Hello World!" +} diff --git a/test3.gno.land/extracted/r/demo/test/pkg_metadata.json b/test3.gno.land/extracted/r/demo/test/pkg_metadata.json index a420d9f5..ac780b46 100644 --- a/test3.gno.land/extracted/r/demo/test/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/test/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1eussptehceyrtzw69kek72qy8d40rjrf654rrt","deposit":""} \ No newline at end of file +{"creator":"g1at2h7kdhz2m9lv6azn54mwu4wl95k94wu90uwj","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo/yep/pkg_metadata.json b/test3.gno.land/extracted/r/demo/yep/pkg_metadata.json index 6794c070..213b87e5 100644 --- a/test3.gno.land/extracted/r/demo/yep/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo/yep/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1p809wnm9glgxu8lauaeattqlwh92gd0vcrlm46","deposit":""} \ No newline at end of file +{"creator":"g140pvdhzwxtg8yazp5zfqtmshqnt2mefs764yrw","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/demo2/greeting/pkg_metadata.json b/test3.gno.land/extracted/r/demo2/greeting/pkg_metadata.json index 4391adcd..d901780e 100644 --- a/test3.gno.land/extracted/r/demo2/greeting/pkg_metadata.json +++ b/test3.gno.land/extracted/r/demo2/greeting/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g12cvhg4mfst27whu6x58vu69zt04j5hfh8kwv5v","deposit":""} \ No newline at end of file +{"creator":"g1nq9tmqhtuz6wcmm4tqc2zvyh8cpymrawv6dn7l","deposit":""} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/dragicevicb/raffleentry/package.gno b/test3.gno.land/extracted/r/dragicevicb/raffleentry/package.gno new file mode 100644 index 00000000..2ed95318 --- /dev/null +++ b/test3.gno.land/extracted/r/dragicevicb/raffleentry/package.gno @@ -0,0 +1,8 @@ +package raffleentry +import ( + "/r/leon/staging/raffle/raffle" +) + +func init(){ + raffle.RegisterCode(wmd%WRcYVc) +} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/dragicevicb/raffleentry/pkg_metadata.json b/test3.gno.land/extracted/r/dragicevicb/raffleentry/pkg_metadata.json new file mode 100644 index 00000000..66c70070 --- /dev/null +++ b/test3.gno.land/extracted/r/dragicevicb/raffleentry/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1qlat94g56gxnl4rpp9j8mzjdhdyhxcp0l2qeev","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/hello/hello/pkg_metadata.json b/test3.gno.land/extracted/r/hello/hello/pkg_metadata.json index e0db475f..778a5e72 100644 --- a/test3.gno.land/extracted/r/hello/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/r/hello/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g10y2y4l4g7cx23tkl9jy5u638lw5aykvx7upqaz","deposit":"1ugnot"} \ No newline at end of file +{"creator":"g1t3hhyrrugmk0ujvc90jh36u8kw03fdj23skrmy","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/hello15/hello/package.gno b/test3.gno.land/extracted/r/hello15/hello/package.gno index 32b4fc2d..d36874bc 100644 --- a/test3.gno.land/extracted/r/hello15/hello/package.gno +++ b/test3.gno.land/extracted/r/hello15/hello/package.gno @@ -1,9 +1,5 @@ package hello -func B(path []string) string { - return "Hello World!" -} - -func A(path string) string { +func Render(path string) string { return "Hello World!" } diff --git a/test3.gno.land/extracted/r/hello15/hello/pkg_metadata.json b/test3.gno.land/extracted/r/hello15/hello/pkg_metadata.json index 292c561e..fe835b60 100644 --- a/test3.gno.land/extracted/r/hello15/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/r/hello15/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1ejrxf88yp390dr48a0wxyaed3vxj0243at292p","deposit":"1ugnot"} \ No newline at end of file +{"creator":"g1uf8u5jf2m9l80g0zsfq7tufl3qufqc4393jtkl","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/kirk_haines/gnosocial/gnocial.gno b/test3.gno.land/extracted/r/kirk_haines/gnosocial/gnocial.gno new file mode 100644 index 00000000..88c312d6 --- /dev/null +++ b/test3.gno.land/extracted/r/kirk_haines/gnosocial/gnocial.gno @@ -0,0 +1,97 @@ +package gnosocial + +import ( + "gno.land/p/demo/ufmt" + "std" + "strings" + "time" +) + +type Post struct { + Author std.Address + Content string + Time time.Time +} + +type DirectMessage struct { + Sender std.Address + Receiver std.Address + Content string + Time time.Time +} + +var posts []Post +var directMessages []DirectMessage + +// Post your thoughts. +// +// Enter a post below, and then press the `Call` button. +// +// The post will be recorded along with your address for everyone else to read. +func CreatePost(content string) { + newPost := Post{ + Author: std.GetOrigCaller(), + Content: content, + Time: time.Now(), + } + posts = append(posts, newPost) +} + +// Talk with someone else! Enter their address, and the message that you want +// to send to them below, and then press the `Call` button. +func SendDirectMessage(receiver std.Address, content string) { + newDM := DirectMessage{ + Sender: std.GetOrigCaller(), + Receiver: receiver, + Content: content, + Time: time.Now(), + } + directMessages = append(directMessages, newDM) +} + +// Call this to see all of the current posts. +func RenderPosts() string { + var output strings.Builder + output.WriteString("# All Posts\n") + for _, post := range posts { + output.WriteString(ufmt.Sprintf("* %s @ %s: %s\n", post.Time.String(), post.Author, post.Content)) + } + return output.String() +} + +// Call this to see your messages. +func RenderDMs() string { + var output strings.Builder + caller := std.GetOrigCaller() + + if caller == "" { + output.WriteString("# All Direct Messages\n") + } else { + output.WriteString("# Your Direct Messages\n") + } + + for _, dm := range directMessages { + if caller == "" || dm.Sender == caller || dm.Receiver == caller { + output.WriteString(ufmt.Sprintf("* From: %s to: %s @ %s: %s\n", dm.Sender, dm.Receiver, dm.Time.String(), dm.Content)) + } + } + return output.String() +} + +// Calling Render() with `/posts` will return an HTML string with all of the current posts. +// Calling Render() with `/dms` will return an HTML string with all of the current direct messages. +func Render(path string) string { + command := "" + if idx := strings.Index(path, "/"); idx >= 0 { + command = path[idx+1:] + } + + switch command { + case "posts": + return RenderPosts() + case "dms": + return RenderDMs() + default: + return "Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages." + } +} diff --git a/test3.gno.land/extracted/r/kirk_haines/gnosocial/pkg_metadata.json b/test3.gno.land/extracted/r/kirk_haines/gnosocial/pkg_metadata.json new file mode 100644 index 00000000..ab576a67 --- /dev/null +++ b/test3.gno.land/extracted/r/kirk_haines/gnosocial/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/test/hello/pkg_metadata.json b/test3.gno.land/extracted/r/test/hello/pkg_metadata.json index e0db475f..ab25f738 100644 --- a/test3.gno.land/extracted/r/test/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/r/test/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g10y2y4l4g7cx23tkl9jy5u638lw5aykvx7upqaz","deposit":"1ugnot"} \ No newline at end of file +{"creator":"g15wmukt79xymnnu6c4de32trnufudqum60yrxu8","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/test22/hello/package.gno b/test3.gno.land/extracted/r/test22/hello/package.gno index a0c2f9ce..723d6d20 100644 --- a/test3.gno.land/extracted/r/test22/hello/package.gno +++ b/test3.gno.land/extracted/r/test22/hello/package.gno @@ -1,5 +1,5 @@ - package hello +package hello -func Render(path string) string { +func Test1(option1 []string) string { return "Hello World!" } diff --git a/test3.gno.land/extracted/r/test22/hello/pkg_metadata.json b/test3.gno.land/extracted/r/test22/hello/pkg_metadata.json index 11e3b6de..5235ccf7 100644 --- a/test3.gno.land/extracted/r/test22/hello/pkg_metadata.json +++ b/test3.gno.land/extracted/r/test22/hello/pkg_metadata.json @@ -1 +1 @@ -{"creator":"g1yc0x2kj67mj564zsjyp27t5zya5eynnrdqkpqv","deposit":""} \ No newline at end of file +{"creator":"g1fsu3z335h5qngf7t3lmakvpmpwg9ae76tqwh7c","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial13/gnocial.gno b/test3.gno.land/extracted/r/wyhaines/gnocial13/gnocial.gno new file mode 100644 index 00000000..0057b20f --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial13/gnocial.gno @@ -0,0 +1,97 @@ +package gnocial13 + +import ( + "gno.land/p/demo/ufmt" + "std" + "strings" + "time" +) + +type Post struct { + Author std.Address + Content string + Time time.Time +} + +type DirectMessage struct { + Sender std.Address + Receiver std.Address + Content string + Time time.Time +} + +var posts []Post +var directMessages []DirectMessage + +// Post your thoughts. +// +// Enter a post below, and then press the `Call` button. +// +// The post will be recorded along with your address for everyone else to read. +func CreatePost(content string) { + newPost := Post{ + Author: std.GetOrigCaller(), + Content: content, + Time: time.Now(), + } + posts = append(posts, newPost) +} + +// Talk with someone else! Enter their address, and the message that you want +// to send to them below, and then press the `Call` button. +func SendDirectMessage(receiver std.Address, content string) { + newDM := DirectMessage{ + Sender: std.GetOrigCaller(), + Receiver: receiver, + Content: content, + Time: time.Now(), + } + directMessages = append(directMessages, newDM) +} + +// Call this to see all of the current posts. +func RenderPosts() string { + var output strings.Builder + output.WriteString("# All Posts") + for _, post := range posts { + output.WriteString(ufmt.Sprintf("* %s @ %s: %s", post.Time.String(), post.Author, post.Content)) + } + return output.String() +} + +// Call this to see your messages. +func RenderDMs() string { + var output strings.Builder + caller := std.GetOrigCaller() + + if caller == "" { + output.WriteString("* All Direct Messages") + } else { + output.WriteString("* Your Direct Messages") + } + + for _, dm := range directMessages { + if caller == "" || dm.Sender == caller || dm.Receiver == caller { + output.WriteString(ufmt.Sprintf("* From: %s to: %s @ %s: ", dm.Sender, dm.Receiver, dm.Time.String, dm.Content)) + } + } + return output.String() +} + +// Calling Render() with `/posts` will return an HTML string with all of the current posts. +// Calling Render() with `/dms` will return an HTML string with all of the current direct messages. +func Render(path string) string { + command := "" + if idx := strings.Index(path, "/"); idx >= 0 { + command = path[idx+1:] + } + + switch command { + case "posts": + return RenderPosts() + case "dms": + return RenderDMs() + default: + return "Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages." + } +} diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial13/pkg_metadata.json b/test3.gno.land/extracted/r/wyhaines/gnocial13/pkg_metadata.json new file mode 100644 index 00000000..ab576a67 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial13/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial13_1/gnocial.gno b/test3.gno.land/extracted/r/wyhaines/gnocial13_1/gnocial.gno new file mode 100644 index 00000000..0057b20f --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial13_1/gnocial.gno @@ -0,0 +1,97 @@ +package gnocial13 + +import ( + "gno.land/p/demo/ufmt" + "std" + "strings" + "time" +) + +type Post struct { + Author std.Address + Content string + Time time.Time +} + +type DirectMessage struct { + Sender std.Address + Receiver std.Address + Content string + Time time.Time +} + +var posts []Post +var directMessages []DirectMessage + +// Post your thoughts. +// +// Enter a post below, and then press the `Call` button. +// +// The post will be recorded along with your address for everyone else to read. +func CreatePost(content string) { + newPost := Post{ + Author: std.GetOrigCaller(), + Content: content, + Time: time.Now(), + } + posts = append(posts, newPost) +} + +// Talk with someone else! Enter their address, and the message that you want +// to send to them below, and then press the `Call` button. +func SendDirectMessage(receiver std.Address, content string) { + newDM := DirectMessage{ + Sender: std.GetOrigCaller(), + Receiver: receiver, + Content: content, + Time: time.Now(), + } + directMessages = append(directMessages, newDM) +} + +// Call this to see all of the current posts. +func RenderPosts() string { + var output strings.Builder + output.WriteString("# All Posts") + for _, post := range posts { + output.WriteString(ufmt.Sprintf("* %s @ %s: %s", post.Time.String(), post.Author, post.Content)) + } + return output.String() +} + +// Call this to see your messages. +func RenderDMs() string { + var output strings.Builder + caller := std.GetOrigCaller() + + if caller == "" { + output.WriteString("* All Direct Messages") + } else { + output.WriteString("* Your Direct Messages") + } + + for _, dm := range directMessages { + if caller == "" || dm.Sender == caller || dm.Receiver == caller { + output.WriteString(ufmt.Sprintf("* From: %s to: %s @ %s: ", dm.Sender, dm.Receiver, dm.Time.String, dm.Content)) + } + } + return output.String() +} + +// Calling Render() with `/posts` will return an HTML string with all of the current posts. +// Calling Render() with `/dms` will return an HTML string with all of the current direct messages. +func Render(path string) string { + command := "" + if idx := strings.Index(path, "/"); idx >= 0 { + command = path[idx+1:] + } + + switch command { + case "posts": + return RenderPosts() + case "dms": + return RenderDMs() + default: + return "Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages." + } +} diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial13_1/pkg_metadata.json b/test3.gno.land/extracted/r/wyhaines/gnocial13_1/pkg_metadata.json new file mode 100644 index 00000000..ab576a67 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial13_1/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial14/gnocial.gno b/test3.gno.land/extracted/r/wyhaines/gnocial14/gnocial.gno new file mode 100644 index 00000000..43e7f689 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial14/gnocial.gno @@ -0,0 +1,97 @@ +package gnocial14 + +import ( + "gno.land/p/demo/ufmt" + "std" + "strings" + "time" +) + +type Post struct { + Author std.Address + Content string + Time time.Time +} + +type DirectMessage struct { + Sender std.Address + Receiver std.Address + Content string + Time time.Time +} + +var posts []Post +var directMessages []DirectMessage + +// Post your thoughts. +// +// Enter a post below, and then press the `Call` button. +// +// The post will be recorded along with your address for everyone else to read. +func CreatePost(content string) { + newPost := Post{ + Author: std.GetOrigCaller(), + Content: content, + Time: time.Now(), + } + posts = append(posts, newPost) +} + +// Talk with someone else! Enter their address, and the message that you want +// to send to them below, and then press the `Call` button. +func SendDirectMessage(receiver std.Address, content string) { + newDM := DirectMessage{ + Sender: std.GetOrigCaller(), + Receiver: receiver, + Content: content, + Time: time.Now(), + } + directMessages = append(directMessages, newDM) +} + +// Call this to see all of the current posts. +func RenderPosts() string { + var output strings.Builder + output.WriteString("# All Posts") + for _, post := range posts { + output.WriteString(ufmt.Sprintf("* %s @ %s: %s", post.Time.String(), post.Author, post.Content)) + } + return output.String() +} + +// Call this to see your messages. +func RenderDMs() string { + var output strings.Builder + caller := std.GetOrigCaller() + + if caller == "" { + output.WriteString("* All Direct Messages") + } else { + output.WriteString("* Your Direct Messages") + } + + for _, dm := range directMessages { + if caller == "" || dm.Sender == caller || dm.Receiver == caller { + output.WriteString(ufmt.Sprintf("* From: %s to: %s @ %s: ", dm.Sender, dm.Receiver, dm.Time.String, dm.Content)) + } + } + return output.String() +} + +// Calling Render() with `/posts` will return an HTML string with all of the current posts. +// Calling Render() with `/dms` will return an HTML string with all of the current direct messages. +func Render(path string) string { + command := "" + if idx := strings.Index(path, "/"); idx >= 0 { + command = path[idx+1:] + } + + switch command { + case "posts": + return RenderPosts() + case "dms": + return RenderDMs() + default: + return "Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages." + } +} diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial14/pkg_metadata.json b/test3.gno.land/extracted/r/wyhaines/gnocial14/pkg_metadata.json new file mode 100644 index 00000000..ab576a67 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial14/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial15/gnocial.gno b/test3.gno.land/extracted/r/wyhaines/gnocial15/gnocial.gno new file mode 100644 index 00000000..76b4a702 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial15/gnocial.gno @@ -0,0 +1,97 @@ +package gnocial15 + +import ( + "gno.land/p/demo/ufmt" + "std" + "strings" + "time" +) + +type Post struct { + Author std.Address + Content string + Time time.Time +} + +type DirectMessage struct { + Sender std.Address + Receiver std.Address + Content string + Time time.Time +} + +var posts []Post +var directMessages []DirectMessage + +// Post your thoughts. +// +// Enter a post below, and then press the `Call` button. +// +// The post will be recorded along with your address for everyone else to read. +func CreatePost(content string) { + newPost := Post{ + Author: std.GetOrigCaller(), + Content: content, + Time: time.Now(), + } + posts = append(posts, newPost) +} + +// Talk with someone else! Enter their address, and the message that you want +// to send to them below, and then press the `Call` button. +func SendDirectMessage(receiver std.Address, content string) { + newDM := DirectMessage{ + Sender: std.GetOrigCaller(), + Receiver: receiver, + Content: content, + Time: time.Now(), + } + directMessages = append(directMessages, newDM) +} + +// Call this to see all of the current posts. +func RenderPosts() string { + var output strings.Builder + output.WriteString("# All Posts") + for _, post := range posts { + output.WriteString(ufmt.Sprintf("* %s @ %s: %s", post.Time.String(), post.Author, post.Content)) + } + return output.String() +} + +// Call this to see your messages. +func RenderDMs() string { + var output strings.Builder + caller := std.GetOrigCaller() + + if caller == "" { + output.WriteString("* All Direct Messages") + } else { + output.WriteString("* Your Direct Messages") + } + + for _, dm := range directMessages { + if caller == "" || dm.Sender == caller || dm.Receiver == caller { + output.WriteString(ufmt.Sprintf("* From: %s to: %s @ %s: %s", dm.Sender, dm.Receiver, dm.Time.String, dm.Content)) + } + } + return output.String() +} + +// Calling Render() with `/posts` will return an HTML string with all of the current posts. +// Calling Render() with `/dms` will return an HTML string with all of the current direct messages. +func Render(path string) string { + command := "" + if idx := strings.Index(path, "/"); idx >= 0 { + command = path[idx+1:] + } + + switch command { + case "posts": + return RenderPosts() + case "dms": + return RenderDMs() + default: + return "Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages." + } +} diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial15/pkg_metadata.json b/test3.gno.land/extracted/r/wyhaines/gnocial15/pkg_metadata.json new file mode 100644 index 00000000..ab576a67 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial15/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial16/gnocial.gno b/test3.gno.land/extracted/r/wyhaines/gnocial16/gnocial.gno new file mode 100644 index 00000000..450e3213 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial16/gnocial.gno @@ -0,0 +1,97 @@ +package gnocial16 + +import ( + "gno.land/p/demo/ufmt" + "std" + "strings" + "time" +) + +type Post struct { + Author std.Address + Content string + Time time.Time +} + +type DirectMessage struct { + Sender std.Address + Receiver std.Address + Content string + Time time.Time +} + +var posts []Post +var directMessages []DirectMessage + +// Post your thoughts. +// +// Enter a post below, and then press the `Call` button. +// +// The post will be recorded along with your address for everyone else to read. +func CreatePost(content string) { + newPost := Post{ + Author: std.GetOrigCaller(), + Content: content, + Time: time.Now(), + } + posts = append(posts, newPost) +} + +// Talk with someone else! Enter their address, and the message that you want +// to send to them below, and then press the `Call` button. +func SendDirectMessage(receiver std.Address, content string) { + newDM := DirectMessage{ + Sender: std.GetOrigCaller(), + Receiver: receiver, + Content: content, + Time: time.Now(), + } + directMessages = append(directMessages, newDM) +} + +// Call this to see all of the current posts. +func RenderPosts() string { + var output strings.Builder + output.WriteString("# All Posts") + for _, post := range posts { + output.WriteString(ufmt.Sprintf("* %s @ %s: %s", post.Time.String(), post.Author, post.Content)) + } + return output.String() +} + +// Call this to see your messages. +func RenderDMs() string { + var output strings.Builder + caller := std.GetOrigCaller() + + if caller == "" { + output.WriteString("* All Direct Messages") + } else { + output.WriteString("* Your Direct Messages") + } + + for _, dm := range directMessages { + if caller == "" || dm.Sender == caller || dm.Receiver == caller { + output.WriteString(ufmt.Sprintf("* From: %s to: %s @ %s: %s", dm.Sender, dm.Receiver, dm.Time.String(), dm.Content)) + } + } + return output.String() +} + +// Calling Render() with `/posts` will return an HTML string with all of the current posts. +// Calling Render() with `/dms` will return an HTML string with all of the current direct messages. +func Render(path string) string { + command := "" + if idx := strings.Index(path, "/"); idx >= 0 { + command = path[idx+1:] + } + + switch command { + case "posts": + return RenderPosts() + case "dms": + return RenderDMs() + default: + return "Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages." + } +} diff --git a/test3.gno.land/extracted/r/wyhaines/gnocial16/pkg_metadata.json b/test3.gno.land/extracted/r/wyhaines/gnocial16/pkg_metadata.json new file mode 100644 index 00000000..ab576a67 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnocial16/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/extracted/r/wyhaines/gnosocial/gnocial.gno b/test3.gno.land/extracted/r/wyhaines/gnosocial/gnocial.gno new file mode 100644 index 00000000..91e82003 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnosocial/gnocial.gno @@ -0,0 +1,97 @@ +package gnosocial + +import ( + "gno.land/p/demo/ufmt" + "std" + "strings" + "time" +) + +type Post struct { + Author std.Address + Content string + Time time.Time +} + +type DirectMessage struct { + Sender std.Address + Receiver std.Address + Content string + Time time.Time +} + +var posts []Post +var directMessages []DirectMessage + +// Post your thoughts. +// +// Enter a post below, and then press the `Call` button. +// +// The post will be recorded along with your address for everyone else to read. +func CreatePost(content string) { + newPost := Post{ + Author: std.GetOrigCaller(), + Content: content, + Time: time.Now(), + } + posts = append(posts, newPost) +} + +// Talk with someone else! Enter their address, and the message that you want +// to send to them below, and then press the `Call` button. +func SendDirectMessage(receiver std.Address, content string) { + newDM := DirectMessage{ + Sender: std.GetOrigCaller(), + Receiver: receiver, + Content: content, + Time: time.Now(), + } + directMessages = append(directMessages, newDM) +} + +// Call this to see all of the current posts. +func RenderPosts() string { + var output strings.Builder + output.WriteString("# All Posts") + for _, post := range posts { + output.WriteString(ufmt.Sprintf("* %s @ %s: %s", post.Time.String(), post.Author, post.Content)) + } + return output.String() +} + +// Call this to see your messages. +func RenderDMs() string { + var output strings.Builder + caller := std.GetOrigCaller() + + if caller == "" { + output.WriteString("* All Direct Messages") + } else { + output.WriteString("* Your Direct Messages") + } + + for _, dm := range directMessages { + if caller == "" || dm.Sender == caller || dm.Receiver == caller { + output.WriteString(ufmt.Sprintf("* From: %s to: %s @ %s: %s", dm.Sender, dm.Receiver, dm.Time.String(), dm.Content)) + } + } + return output.String() +} + +// Calling Render() with `/posts` will return an HTML string with all of the current posts. +// Calling Render() with `/dms` will return an HTML string with all of the current direct messages. +func Render(path string) string { + command := "" + if idx := strings.Index(path, "/"); idx >= 0 { + command = path[idx+1:] + } + + switch command { + case "posts": + return RenderPosts() + case "dms": + return RenderDMs() + default: + return "Welcome to GnoSocial! Use /posts to view all posts or /dms to view your messages." + } +} diff --git a/test3.gno.land/extracted/r/wyhaines/gnosocial/pkg_metadata.json b/test3.gno.land/extracted/r/wyhaines/gnosocial/pkg_metadata.json new file mode 100644 index 00000000..ab576a67 --- /dev/null +++ b/test3.gno.land/extracted/r/wyhaines/gnosocial/pkg_metadata.json @@ -0,0 +1 @@ +{"creator":"g1whzkakk4hzjkvy60d5pwfk484xu67ar2cl62h2","deposit":"1ugnot"} \ No newline at end of file diff --git a/test3.gno.land/metadata.json b/test3.gno.land/metadata.json index 5720c360..4deb8c28 100644 --- a/test3.gno.land/metadata.json +++ b/test3.gno.land/metadata.json @@ -1,3 +1,3 @@ { - "latest_block_height": 469315 + "latest_block_height": 470829 }