msg:0,success:true,log:,events:[] msg:1,success:true,log:,events:[]
Tx{0AF42C0A0A2F766D2E6D5F63616C6C12E52C0A2867316D616E6672656434376B7A647565633932307A38387766723634796C6B736D646365646C66352214676E6F2E6C616E642F722F6D6F756C2F626C6F672A03536574322666726F6D2D6D616B6574782D72756E2D746F2D74656D706C617465642D636F6E747261637473322D796F75722072756E207363726970742069732061207368656C6C207363726970742C20636F6D70696C65206974320A323032362D30392D3136321C6D736772756E2C6D736763616C6C2C6761732C636F6E747261637473329C2B596F752077726974652061206C6974746C6520602E676E6F602066696C652C20796F752072756E2069742C20697420646F65732065786163746C79207768617420796F752077616E7465642E0A0A60606073680A676E6F6B6579206D616B6574782072756E202D62726F616463617374202D636861696E696420706561726C2D31206D796B6579207363726970742E676E6F0A6060600A0A5468656E20796F7520706F696E74207468652073616D6520636F6D6D616E64206174206D61696E6E657420616E642069742073746F70732E204E6F74206120636F6D70696C65206572726F722C0A6E6F7420612070616E69633A20746865207472616E73616374696F6E206E65766572206765747320746F2072756E20617420616C6C2E2054686520676174652069730A60766D2E72756E5F7375626D697474657273602C20616E20616C6C6F776C697374206F6620616464726573736573207065726D697474656420746F2073656E6420604D736752756E602E20456D7074790A6D65616E73206F66662C206C697374206F6E65206164647265737320616E64206974206973206F6E2C20616E64206D61696E6E657420686173206974206F6E2E0A0A2323207768792069742069732067617465642C2077686963682074656C6C7320796F75207768617420746F20646F2061626F75742069740A0A604D736752756E6020747970652D636865636B7320616E642065786563757465732061726269747261727920736F7572636520696D6D6564696174656C792C20616E64206974206973207468650A6F6E6C7920636F64652D62656172696E67206D6573736167652077697468206E6F206F7468657220676174653A20604D73674164645061636B6167656020636C656172732061206E616D6573706163650A636865636B20616E64206120434C4120636865636B2C207768696C6520604D736752756E602773207061746820697320666F7263656420746F20602F652F3C63616C6C65723E2F72756E6020616E640A686173206E6F206E616D65737061636520746F20636865636B20616761696E73742E0A0A604D73674164645061636B61676560207075626C697368657320636F646520736F6D656F6E652063616E206C6F6F6B2061742C20756E6465722061206E616D6520736F6D656F6E65206F776E732E0A604D736752756E60207075626C697368657320636F64652074686174206578656375746573206F6E636520616E64206C6561766573206E6F2072657669657761626C652061727469666163742E204F6E0A6120636861696E20746861742077616E747320612072657669657720737572666163652C206F6E6C79206F6E65206F662074686F7365207374617973206F70656E2E0A0A232320612072756E207363726970742069732061207368656C6C207363726970742C207374727563747572616C6C790A0A596F752068616E642074686520636861696E20736F757263652C20697420636F6D70696C65732C2072756E7320606D61696E2829602C207468726F7773207468652062696E61727920617761792E0A4E6F7468696E672070657273697374732C206E6F7468696E67206973206E616D65642C206E6F7468696E672063616E2062652063616C6C656420616761696E2E20546861742069730A607368207363726970742E7368602077697468206120626C6F636B636861696E20666F722061206B65726E656C2C20616E642074776F2070726F7065727469657320666F6C6C6F772E0A0A2A2A412072756E207363726970742063617272696573207468696E677320612063616C6C2063616E6E6F742E2A2A20604D736743616C6C60206D61727368616C7320617267756D656E74732066726F6D0A737472696E677320616E642061636365707473207072696D6974697665732C20627974652061727261797320616E64206279746520736C696365733B2065766572797468696E6720656C73650A68697473206070616E69632822756E6578706563746564207479706520696E20636F6E7472616374206172672229602E20412073637269707420686173206E6F2073756368206C696D69740A6265636175736520697420646F6573206E6F74206D61727368616C2074686520617267756D656E742C206974207772697465732074686520636F64652074686174206275696C64732069742E0A546861742069732077687920476F7644414F2070726F706F73616C732061726520604D736752756E602D6F6E6C792E0A0A2A2A412072756E207363726970742072756E7320617320796F752E2A2A2054686520657068656D6572616C20706174682069730A60676E6F2E6C616E642F652F3C796F75722D616464726573733E2F72756E6020616E6420616464726573732064657269766174696F6E207370656369616C2D63617365732069742C20736F0A696E7369646520612072756E2073637269707420227468652063616C6C696E67207265616C6D22202A69732A20796F752E20416E7920415049207265736F6C76696E6720616E206163746F720A66726F6D206974732063616C6C65722061637473206F6E20796F7572206F776E206163636F756E742E2046726F6D2061206465706C6F796564207265616C6D207468652073616D652063616C6C0A616374732061732074686174207265616C6D2E2054686973206973207468652070726F70657274792070656F706C65206275696C64206F6E20776974686F7574206E6F746963696E672C20616E640A746865206F6E65207468617420646F6573206E6F74207375727669766520746865206D6967726174696F6E2E0A0A232320736F20746865206D6967726174696F6E206973206E6F74206120776F726B61726F756E642C20697420697320636F6D70696C696E670A0A412072756E207363726970742069732061207368656C6C207363726970743B2061207265616C6D206973207468652062696E61727920796F752073686970206F6E636520746865207363726970740A73746F7073206368616E67696E672E204D6F766520746865206C6F676963206F6E20636861696E206F6E636520616E6420776861742063726F737365732074686520776972650A61667465727761726473206973207072696D69746976657320616761696E2C20776869636820697320616C6C20604D736743616C6C602065766572206E65656465642E204576657279207363726970740A492068617665206C6F6F6B65642061742066616C6C7320696E206F6E65206F662074687265652070696C65732E0A0A2A2A4974206F6E6C79206E6565647320612066756E632076616C7565206F722061207374727563742E2A2A20412077726170706572207265616C6D20737570706C696573207468650A636C6F737572652C2074686520757365722070617373657320737472696E67732E204D6F73742070726F6A6563747320646964207468697320616C726561647920776974686F7574206672616D696E670A69742074686174207761793A206120726F75746572207265616C6D202A69732A2074686973206669782E0A0A2A2A4974206E6565647320746F2061637420617320746865207369676E65722E2A2A2054686973206973207468652070696C6520746861742062697465732C20616E64204920747269656420746F0A6275696C64207468652077726F6E672066697820666F722069742066697273742C20612067656E65726963206875622074686174206D6F76657320616E20616C6C6F77616E6365206F6E0A616E796F6E65277320626568616C662E2049742063616E6E6F742065786973742C206F6E20707572706F73653A2060496D706572736F6E61746554656C6C657260206973206F6E207468650A70726976617465206C65646765722C20736F20612068656C706572207265616C6D2061637473206F6E6C7920617320697473656C6620616E6420612068756220616374696E67206173206974730A63616C6C6572206973206120636F6E6675736564206465707574792E205468652066697820697320746865206F776E696E67207265616C6D206578706F73696E672074686520656E7472790A706F696E742C20776869636820666F72206120746F6B656E20697320746865207374616E646172642077726170706572207365743A0A0A606060676F0A766172207573657254656C6C6572203D206C65646765722E43616C6C657254656C6C65722829202F2F206163746F72203D2077686F657665722063726F7373656420696E203D20746865207369676E65720A0A66756E6320417070726F766528637572207265616C6D2C207370656E64657220616464726573732C20616D6F756E7420696E74363429207B0A09636865636B457272287573657254656C6C65722E417070726F766528302C206375722C207370656E6465722C20616D6F756E7429290A7D0A6060600A0A2A2A49742069732061206F6E652D6F66662E2A2A204D6967726174696F6E732C20696E7370656374696F6E732C20226C6574206D65206A757374207472792074686973222E204B656570207573696E670A606D616B6574782072756E602C206C6F63616C6C7920616E64206F6E20746573746E657473207768657265207468652067617465206973206F66662E20546865206D697374616B652069730A7368697070696E6720612072756E207363726970742061732061202A70726F6475637420737572666163652A2C2077686572652065766572792075736572207369676E73206172626974726172790A736F757263652065766572792074696D652074686579207072657373206120627574746F6E2E0A0A232320697420697320616C736F2068616C6620746865206761730A0A412066726F6E742D656E642049206C6F6F6B65642061742073656E6473206F6E65207472616E73616374696F6E20706572207573657220616374696F6E2C20616E64206576657279206F6E650A63617272696573206120604D736752756E6020746F206772616E7420616E20616C6C6F77616E636520616E6420616E6F7468657220746F207265766F6B652069742C2061726F756E64207468650A7265616C2063616C6C2E205468652068796769656E652069732067656E75696E656C79206E6963652E2054686520604D736752756E60206973206E6F7420636C657665726E6573732C2069742069730A74686174207468652067656E6572696320726567697374727920706174682077617320746865206F6E6C79206F6E652074686569722055492068616420746F207772697465206F6E636520616E640A7265757365207065722061737365742E20457665727920746F6B656E20696E766F6C76656420616C7265616479206578706F7365642060417070726F766560206F6E20697473206F776E0A7265616C6D2C20736F207468652072657772697465206973206D656368616E6963616C2E204F6E20746861742073616D6520636861696E2C20612073696E676C652D6D6573736167650A617070726F766520616E6420612073696E676C652D6D65737361676520726567697374727920777269746520636F73743A0A0A7C20666F726D207C206761732075736564207C0A7C2D2D2D7C2D2D2D7C0A7C20604D736743616C6C6020607775676E6F742E417070726F766528726F757465722C2031303030303030302960207C202A2A362C3038392C3037332A2A207C0A7C20604D736752756E602077697468206F6E65207265676973747279207772697465207C202A2A31322E324D20746F2031352E384D2A2A202831302073616D706C657329207C0A0A526F7567686C792032782C206D6561737572656420323032362D30392D31362C206120636F737420636C61737320726174686572207468616E206120627974652D6964656E746963616C0A412F422073696E6365206E6F20736F6C6F20604D736752756E6020617070726F766520657869737473206F6E207468617420636861696E20746F20706169722E20546865206F766572686561642069730A7374727563747572616C3A20604D736752756E602070617973206056616C69646174654D656D5061636B616765602C206054797065436865636B4D656D5061636B6167656020616E640A7065722D627974652070726570726F6365737320676173206F6E206576657279207472616E73616374696F6E2C20604D736743616C6C602070617973206E6F6E65206F6620697420626563617573650A74686520636F646520697320616C7265616479206F6E20636861696E20616E6420616C726561647920747970652D636865636B65642E20596F7520636F6D70696C65206F6E636520696E73746561640A6F66206F6E63652070657220757365722070657220636C69636B2E206054782E6D736773602069732061206C6973742C20736F207468652073616E6477696368207374617973206F6E650A7472616E73616374696F6E20616E64206F6E65207369676E61747572653A20796F752073776170206D657373616765206B696E64732C206E6F742074686520666C6F772E0A0A232320776865726520746869732073746F70730A0A476F7644414F2070726F706F73616C73207374617920604D736752756E602D6F6E6C792C206265636175736520612070726F706F73616C2072657175657374206361727269657320612066756E630A76616C75652E2054686174206973207768792074686520616C6C6F776C697374206D757374206E6576657220626520656D7074696564206F6E2061206C69766520636861696E3A20697420776F756C640A74616B6520676F7665726E616E6365207769746820697420616E64206C65617665206E6F20696E2D62616E64207265706169722E204120746F6B656E206E6F626F647920777261707065642069730A7374696C6C20756E726561636861626C652C20736F2061736B20666F7220746865207772617070657273206174206C697374696E672074696D652C206E6F742061667465722E20416E64206C6F63616C0A646576656C6F706D656E7420646F6573206E6F74206368616E676520617420616C6C3A2060676E6F646576602C20746573746E65747320616E6420796F7572206F776E20636861696E206C656176650A6072756E5F7375626D6974746572736020656D7074792E0A0A5468652072756C652049206B657074206F7574206F6620616C6C20746869732069732073686F72743A202A2A6966206120706572736F6E2077696C6C20646F206974206D6F7265207468616E0A6F6E63652C20697420697320612066756E6374696F6E206F6E2061207265616C6D2E2A2A20606D616B6574782072756E6020697320666F72207468652066697273742074696D6520796F7520646F0A736F6D657468696E672C206E6F74207468652074686F7573616E6474682E0A0A496620796F75206861766520612072756E2073637269707420796F75207468696E6B2063616E6E6F7420626520636F6D70696C65642C2073656E6420697420746F206D652E2050696C6520322069730A746865206F6E6520776F7274682061726775696E672061626F757420616E6420492068617665206F6E6C79207365656E206D79206F776E20636F726E6572206F662069742E0ABC240A0A2F766D2E6D5F63616C6C12AD240A2867316D616E6672656434376B7A647565633932307A38387766723634796C6B736D646365646C66352214676E6F2E6C616E642F722F6D6F756C2F626C6F672A0353657432096D79676E6F7363616E321173686172696E67206D79676E6F7363616E320A323032362D30392D323332236D79676E6F7363616E2C676E6F73636F70652C746F6F6C696E672C6578706C6F7265723296233E202A2A6D79676E6F7363616E206973206E6F77205B676E6F73636F70655D2868747470733A2F2F676E6F73636F70652E636F6D292E2A2A2052656E616D656420323032362D30392D32382E20546869730A3E20706F7374206973206C65667420617320697420776173207772697474656E2C207769746820746865206F6C64206E616D65207468726F7567686F75742C20626563617573652069742069730A3E207768617420492073616964206174207468652074696D652E2045766572797468696E6720696E206974207374696C6C20776F726B733A2073616D6520746F6F6C2C2073616D6520646174612C0A3E20616E6420606D79676E6F7363616E2E6D6F756C2E7032702E7465616D602072656469726563747320746F2060676E6F73636F70652E636F6D602E205768792C20616E642077686174206D6F7665643A0A3E205B676E6F76657273652F676E6F73636F70655D2868747470733A2F2F6769746875622E636F6D2F676E6F76657273652F676E6F73636F70652F626C6F622F6D61696E2F646F63732F72656E616D652E6D64292E0A0A6D79676E6F7363616E206973206120424920746F6F6C20492077726F746520746F20616E73776572206D79206F776E207175657374696F6E732061626F757420676E6F2E6C616E642E204920686176650A6265656E20616464696E6720746F2069742073696E636520417072696C20616E64206E6576657220616E6E6F756E6365642069742C2062656361757365206974206973206E6F742066696E69736865640A616E642069742077696C6C206E6F742062652E0A0A5468656E2070656F706C6520666F756E64205B69745D2868747470733A2F2F6D79676E6F7363616E2E6D6F756C2E7032702E7465616D292C20736169642074686579206C696B65642069742C20616E640A61736B6564207768656E204920776F756C642073686172652069742E20536F3A20686572652069742069732E204E6F7420612070726F647563742C206E6F74206F6666696369616C2C20616E6420490A61646420746F2069742065766572792074696D65206974206661696C7320746F20616E737765722061206E6577207175657374696F6E2E0A0A2323207768617420492061637475616C6C79206F70656E20697420666F720A0A47656E65726963206578706C6F7265727320617265206275696C742061726F756E6420626C6F636B7320616E64207472616E73616374696F6E732E2054686F736520617265207461626C650A7374616B65732E204D79207175657374696F6E732077657265206120646966666572656E742073686170653A2077686174206973206465706C6F7965642C2077686F2063616C6C732069742C20616E640A77686174206368616E6765642074686973207765656B2E0A0A536F207468652066726F6E74207061676520697320612077696E646F772C206E6F742061206C65646765722E205069636B20612072616E67652C2073656520697420616761696E7374207468650A72616E6765206265666F72652069742C207468656E2066697665206C697374733A0A0A2D202A2A686F74207265616C6D732A2A2C2062792063616C6C732C2077697468207468652063616C6C657220636F756E7420626573696465207468656D2E20332C3831372063616C6C732066726F6D0A202032362061646472657373657320616E6420342C3939382066726F6D2034363120617265206E6F74207468652073616D65206576656E742C20616E64206F6E65206E756D6265722063616E6E6F740A202074656C6C20796F7520776869636820796F7520617265206C6F6F6B696E672061742E0A2D202A2A686F74206173736574732A2A3A2075676E6F742061742031392C323830207472616E73666572732066726F6D203938302073656E646572732C20474E5320617420362C3332342066726F6D203134312E0A2D202A2A686F7420646576656C6F706572732A2A2C20666C6167676564207768656E206974206973207468656972206669727374206465706C6F7920657665722E205468726565206F66207468650A2020746F7020666F75722074686973207765656B206172652066697273742D74696D6572732E0A2D202A2A686F74206C69627261726965732A2A2C2072616E6B6564206279202A6E65772A20696D706F727465727320726174686572207468616E20746F74616C2E2060702F6E742F75666D74600A2020746F6F6B203233206E657720696D706F72746572732074686973207765656B20616761696E73742031313320616C6C2074696D652E0A2D202A2A6E6F7461626C65207472616E73666572732E2A2A0A0A556E64657220746861743A207265616C6D20736F757263652C20696D706F7274732C20646570656E64656E74732C2063616C6C6572732C2074686520604D736752756E6020736372697074730A74686174207573652061207265616C6D20776974686F757420696D706F7274696E672069742C206120646570656E64656E63792067726170682C20616E642073637265656E73686F7473206F660A776861742065616368207265616C6D2061637475616C6C79206C6F6F6B73206C696B652E0A0A23232074776F207468696E67732074686520696E646578657220746175676874206D650A0A48616C66206F66207468697320697320612066726F6E74656E642E20546865206F746865722068616C66206973206C6561726E696E6720686F77207468650A5B74782D696E64657865725D2868747470733A2F2F6769746875622E636F6D2F676E6F6C616E672F74782D696E6465786572292061637475616C6C7920626568617665732C2077686963682069730A77686572652074686520696E746572657374696E672062756773206C6976652E0A0A2A2A5468657265206973206E6F20706167696E6174696F6E2E2A2A20606765745472616E73616374696F6E73602074616B6573206077686572656020616E6420606F72646572602C20616E640A6E6F7468696E6720656C73652E20546865207365727665722063617073206120726573756C74207365742061742031302C30303020656C656D656E74732C20616E64206F6E207265616368696E670A697420746865207265736F6C7665722073746F707320616E642072657475726E732074686520726F777320697420686173202A616C6F6E67736964652A2061204772617068514C206572726F722E0A536F20612063617070656420726573706F6E7365206973207061727469616C2C206E6F7420656D7074792C20616E6420746865206F6E6C792077617920746F2077616C6B2061206C61726765720A7365742069732074686520626C6F636B206865696768742066696C7465723A0A0A6060606772617068716C0A6765745472616E73616374696F6E732877686572653A207B0A2020626C6F636B5F6865696768743A207B2067743A203235303030302C206C74653A20323630303030207D0A7D29207B206861736820626C6F636B5F686569676874207D0A6060600A0A5265616420746861742077726F6E6720616E6420796F752073686F772061207472756E636174656420686973746F7279206173206966206974207765726520636F6D706C6574652E0A0A2A2A4F6E6520756E6B6E6F776E2074797065206B696C6C732065766572792071756572792E2A2A204D657373616765207479706573206172652073656C656374656420696E73696465206F6E650A73686172656420667261676D656E74207365743A0A0A6060606772617068716C0A6D65737361676573207B2076616C7565207B205F5F747970656E616D650A20202E2E2E206F6E204D736743616C6C202020202020202020207B2063616C6C657220706B675F706174682066756E632061726773207D0A20202E2E2E206F6E204D73674164645061636B616765202020207B2063726561746F72207061636B616765207B206E616D652070617468207D207D0A20202E2E2E206F6E204D7367456E61626C655061636B616765207B20617070726F76657220706B675F70617468207D0A7D207D0A6060600A0A416E20696E6465786572207468617420646F6573206E6F7420646566696E6520604D7367456E61626C655061636B616765602072656A65637473202A2A65766572792A2A207472616E73616374696F6E0A71756572792C206E6F74206A75737420746865206F6E6573207468617420776F756C642068617665206D6174636865642069743A0A0A6060600A73796E63207061636B616765733A20696E64657865722072657475726E6564203432323A20556E6B6E6F776E207479706520224D7367456E61626C655061636B616765220A6060600A0A5468617420746F6F6B20612077686F6C6520636861696E27732073796E63206F66666C696E652E20416E642074686520747970657320736869707065642073657061726174656C792C20736F0A6D61696E6E657420646566696E657320604D7367456E61626C655061636B6167656020616E64206E6F7420604D736743726561746553657373696F6E603A2070726F62696E6720666F72206F6E650A616E642073656C656374696E6720746865206F74686572206661696C73206576657279207175657279207768696C65207265706F7274696E6720737570706F72742E0A0A232320776865726520492077616E7420746F2074616B652069740A0A4120646576656C6F7065722073656374696F6E2C206D6F73746C792E205265616C6D2073746174652061732061207265616461626C65207472656520696E7374656164206F66206120626C6F622E0A436F646520736561726368206163726F737320657665727920602E676E6F602066696C65206F6E20636861696E2E20412074696D65206D616368696E652C20626563617573652074686520636861696E0A6F76657277726974657320737461746520616E642074686520696E646578657220697320746865206F6E6C79207468696E67207761746368696E672E20416E64206120726561642D6F6E6C790A656E64706F696E7420736F20616E206167656E742063616E2061736B207768617420492061736B207468726F756768207468652055492E0A0A232320706C6561736520627265616B2069740A0A5B676E6F76657273652F6D79676E6F7363616E5D2868747470733A2F2F6769746875622E636F6D2F676E6F76657273652F6D79676E6F7363616E292E204F6E6520476F2062696E6172792C207468650A66726F6E74656E6420656D6265646465642C2053514C69746520666F722074686520677261706820616E616C797369732E205468650A5B524541444D455D2868747470733A2F2F6769746875622E636F6D2F676E6F76657273652F6D79676E6F7363616E23726561646D6529207361797320686F7720746F2072756E20796F7572206F776E0A616761696E737420796F7572206F776E206E6F64652C207768696368204920776F756C64206C696B65206D6F72652070656F706C6520746F20646F2E0A0A5768617420492077616E74206D6F737420697320616E206973737565207768656E20697420646F6573206E6F7420616E7377657220796F7572207175657374696F6E2E2045766572790A6665617475726520696E2074686572652063616D652066726F6D2061207175657374696F6E204920636F756C64206E6F7420616E737765722C20616E642049206F6E6C792068617665206D696E652E0A5365636F6E64206D6F73743A2074656C6C206D65207768656E2061206E756D626572206C6F6F6B732077726F6E672E20536F6D652068617665206265656E2C20616E6420616E206578706C6F7265720A7468617420697320636F6E666964656E746C792077726F6E6720697320776F727365207468616E206E6F6E652E0A0A4920616D206E6F74206275696C64696E6720746865206578706C6F72657220666F7220676E6F2E6C616E642E205B676E6F7363616E2E696F5D2868747470733A2F2F676E6F7363616E2E696F292069730A746865206F6E6520746F2068616E64206120737472616E6765722E204920616D206275696C64696E6720746865206F6E6520492077616E74206F70656E20696E206120746162207768696C6520490A776F726B2C20616E64206974207475726E73206F7574206120666577206F746865722070656F706C652077616E7420746861742074616220746F6F2E121208F0D08F13120B32303035313075676E6F741AA8010A3A0A132F746D2E5075624B6579536563703235366B3112230A210200524A3F8D2C003A89C43F45FEAF6EB8ED45B6E3A35F7BBE6B3B49FF9E2D83C81240B239D2D3885B546D0F47F661ED7143C2F9BC65EFAFD40D8E0B612C76CEF5B8A34D8884EECD9B4FBEA829BF154228B401CF3CCEE848C147EDEE5F322CD60AA1FE1A2867317171717171717171717171717171717171717171717171717171717171717171716C75757865}{
"__typename": "MsgCall",
"caller": "g1manfred47kzduec920z88wfr64ylksmdcedlf5",
"send": "",
"pkg_path": "gno.land/r/moul/blog",
"func": "Set",
"args": [
"from-maketx-run-to-templated-contracts",
"your run script is a shell script, compile it",
"2026-09-16",
"msgrun,msgcall,gas,contracts",
"You write a little `.gno` file, you run it, it does exactly what you wanted.\n\n```sh\ngnokey maketx run -broadcast -chainid pearl-1 mykey script.gno\n```\n\nThen you point the same command at mainnet and it stops. Not a compile error,\nnot a panic: the transaction never gets to run at all. The gate is\n`vm.run_submitters`, an allowlist of addresses permitted to send `MsgRun`. Empty\nmeans off, list one address and it is on, and mainnet has it on.\n\n## why it is gated, which tells you what to do about it\n\n`MsgRun` type-checks and executes arbitrary source immediately, and it is the\nonly code-bearing message with no other gate: `MsgAddPackage` clears a namespace\ncheck and a CLA check, while `MsgRun`'s path is forced to `/e/<caller>/run` and\nhas no namespace to check against.\n\n`MsgAddPackage` publishes code someone can look at, under a name someone owns.\n`MsgRun` publishes code that executes once and leaves no reviewable artifact. On\na chain that wants a review surface, only one of those stays open.\n\n## a run script is a shell script, structurally\n\nYou hand the chain source, it compiles, runs `main()`, throws the binary away.\nNothing persists, nothing is named, nothing can be called again. That is\n`sh script.sh` with a blockchain for a kernel, and two properties follow.\n\n**A run script carries things a call cannot.** `MsgCall` marshals arguments from\nstrings and accepts primitives, byte arrays and byte slices; everything else\nhits `panic(\"unexpected type in contract arg\")`. A script has no such limit\nbecause it does not marshal the argument, it writes the code that builds it.\nThat is why GovDAO proposals are `MsgRun`-only.\n\n**A run script runs as you.** The ephemeral path is\n`gno.land/e/<your-address>/run` and address derivation special-cases it, so\ninside a run script \"the calling realm\" *is* you. Any API resolving an actor\nfrom its caller acts on your own account. From a deployed realm the same call\nacts as that realm. This is the property people build on without noticing, and\nthe one that does not survive the migration.\n\n## so the migration is not a workaround, it is compiling\n\nA run script is a shell script; a realm is the binary you ship once the script\nstops changing. Move the logic on chain once and what crosses the wire\nafterwards is primitives again, which is all `MsgCall` ever needed. Every script\nI have looked at falls in one of three piles.\n\n**It only needs a func value or a struct.** A wrapper realm supplies the\nclosure, the user passes strings. Most projects did this already without framing\nit that way: a router realm *is* this fix.\n\n**It needs to act as the signer.** This is the pile that bites, and I tried to\nbuild the wrong fix for it first, a generic hub that moves an allowance on\nanyone's behalf. It cannot exist, on purpose: `ImpersonateTeller` is on the\nprivate ledger, so a helper realm acts only as itself and a hub acting as its\ncaller is a confused deputy. The fix is the owning realm exposing the entry\npoint, which for a token is the standard wrapper set:\n\n```go\nvar userTeller = ledger.CallerTeller() // actor = whoever crossed in = the signer\n\nfunc Approve(cur realm, spender address, amount int64) {\n\tcheckErr(userTeller.Approve(0, cur, spender, amount))\n}\n```\n\n**It is a one-off.** Migrations, inspections, \"let me just try this\". Keep using\n`maketx run`, locally and on testnets where the gate is off. The mistake is\nshipping a run script as a *product surface*, where every user signs arbitrary\nsource every time they press a button.\n\n## it is also half the gas\n\nA front-end I looked at sends one transaction per user action, and every one\ncarries a `MsgRun` to grant an allowance and another to revoke it, around the\nreal call. The hygiene is genuinely nice. The `MsgRun` is not cleverness, it is\nthat the generic registry path was the only one their UI had to write once and\nreuse per asset. Every token involved already exposed `Approve` on its own\nrealm, so the rewrite is mechanical. On that same chain, a single-message\napprove and a single-message registry write cost:\n\n| form | gas used |\n|---|---|\n| `MsgCall` `wugnot.Approve(router, 10000000)` | **6,089,073** |\n| `MsgRun` with one registry write | **12.2M to 15.8M** (10 samples) |\n\nRoughly 2x, measured 2026-09-16, a cost class rather than a byte-identical\nA/B since no solo `MsgRun` approve exists on that chain to pair. The overhead is\nstructural: `MsgRun` pays `ValidateMemPackage`, `TypeCheckMemPackage` and\nper-byte preprocess gas on every transaction, `MsgCall` pays none of it because\nthe code is already on chain and already type-checked. You compile once instead\nof once per user per click. `Tx.msgs` is a list, so the sandwich stays one\ntransaction and one signature: you swap message kinds, not the flow.\n\n## where this stops\n\nGovDAO proposals stay `MsgRun`-only, because a proposal request carries a func\nvalue. That is why the allowlist must never be emptied on a live chain: it would\ntake governance with it and leave no in-band repair. A token nobody wrapped is\nstill unreachable, so ask for the wrappers at listing time, not after. And local\ndevelopment does not change at all: `gnodev`, testnets and your own chain leave\n`run_submitters` empty.\n\nThe rule I kept out of all this is short: **if a person will do it more than\nonce, it is a function on a realm.** `maketx run` is for the first time you do\nsomething, not the thousandth.\n\nIf you have a run script you think cannot be compiled, send it to me. Pile 2 is\nthe one worth arguing about and I have only seen my own corner of it."
],
"max_deposit": ""
}{
"__typename": "MsgCall",
"caller": "g1manfred47kzduec920z88wfr64ylksmdcedlf5",
"send": "",
"pkg_path": "gno.land/r/moul/blog",
"func": "Set",
"args": [
"mygnoscan",
"sharing mygnoscan",
"2026-09-23",
"mygnoscan,gnoscope,tooling,explorer",
"> **mygnoscan is now [gnoscope](https://gnoscope.com).** Renamed 2026-09-28. This\n> post is left as it was written, with the old name throughout, because it is\n> what I said at the time. Everything in it still works: same tool, same data,\n> and `mygnoscan.moul.p2p.team` redirects to `gnoscope.com`. Why, and what moved:\n> [gnoverse/gnoscope](https://github.com/gnoverse/gnoscope/blob/main/docs/rename.md).\n\nmygnoscan is a BI tool I wrote to answer my own questions about gno.land. I have\nbeen adding to it since April and never announced it, because it is not finished\nand it will not be.\n\nThen people found [it](https://mygnoscan.moul.p2p.team), said they liked it, and\nasked when I would share it. So: here it is. Not a product, not official, and I\nadd to it every time it fails to answer a new question.\n\n## what I actually open it for\n\nGeneric explorers are built around blocks and transactions. Those are table\nstakes. My questions were a different shape: what is deployed, who calls it, and\nwhat changed this week.\n\nSo the front page is a window, not a ledger. Pick a range, see it against the\nrange before it, then five lists:\n\n- **hot realms**, by calls, with the caller count beside them. 3,817 calls from\n 26 addresses and 4,998 from 461 are not the same event, and one number cannot\n tell you which you are looking at.\n- **hot assets**: ugnot at 19,280 transfers from 980 senders, GNS at 6,324 from 141.\n- **hot developers**, flagged when it is their first deploy ever. Three of the\n top four this week are first-timers.\n- **hot libraries**, ranked by *new* importers rather than total. `p/nt/ufmt`\n took 23 new importers this week against 113 all time.\n- **notable transfers.**\n\nUnder that: realm source, imports, dependents, callers, the `MsgRun` scripts\nthat use a realm without importing it, a dependency graph, and screenshots of\nwhat each realm actually looks like.\n\n## two things the indexer taught me\n\nHalf of this is a frontend. The other half is learning how the\n[tx-indexer](https://github.com/gnolang/tx-indexer) actually behaves, which is\nwhere the interesting bugs live.\n\n**There is no pagination.** `getTransactions` takes `where` and `order`, and\nnothing else. The server caps a result set at 10,000 elements, and on reaching\nit the resolver stops and returns the rows it has *alongside* a GraphQL error.\nSo a capped response is partial, not empty, and the only way to walk a larger\nset is the block height filter:\n\n```graphql\ngetTransactions(where: {\n block_height: { gt: 250000, lte: 260000 }\n}) { hash block_height }\n```\n\nRead that wrong and you show a truncated history as if it were complete.\n\n**One unknown type kills every query.** Message types are selected inside one\nshared fragment set:\n\n```graphql\nmessages { value { __typename\n ... on MsgCall { caller pkg_path func args }\n ... on MsgAddPackage { creator package { name path } }\n ... on MsgEnablePackage { approver pkg_path }\n} }\n```\n\nAn indexer that does not define `MsgEnablePackage` rejects **every** transaction\nquery, not just the ones that would have matched it:\n\n```\nsync packages: indexer returned 422: Unknown type \"MsgEnablePackage\"\n```\n\nThat took a whole chain's sync offline. And the types shipped separately, so\nmainnet defines `MsgEnablePackage` and not `MsgCreateSession`: probing for one\nand selecting the other fails every query while reporting support.\n\n## where I want to take it\n\nA developer section, mostly. Realm state as a readable tree instead of a blob.\nCode search across every `.gno` file on chain. A time machine, because the chain\noverwrites state and the indexer is the only thing watching. And a read-only\nendpoint so an agent can ask what I ask through the UI.\n\n## please break it\n\n[gnoverse/mygnoscan](https://github.com/gnoverse/mygnoscan). One Go binary, the\nfrontend embedded, SQLite for the graph analysis. The\n[README](https://github.com/gnoverse/mygnoscan#readme) says how to run your own\nagainst your own node, which I would like more people to do.\n\nWhat I want most is an issue when it does not answer your question. Every\nfeature in there came from a question I could not answer, and I only have mine.\nSecond most: tell me when a number looks wrong. Some have been, and an explorer\nthat is confidently wrong is worse than none.\n\nI am not building the explorer for gno.land. [gnoscan.io](https://gnoscan.io) is\nthe one to hand a stranger. I am building the one I want open in a tab while I\nwork, and it turns out a few other people want that tab too."
],
"max_deposit": ""
}