From d97520c7f047231dc92e34802e12911097de2813 Mon Sep 17 00:00:00 2001 From: Gav Date: Sat, 27 Jan 2018 13:42:40 +0100 Subject: [PATCH] Introduce hex/string printing in runtime. --- substrate/executor/src/wasm_executor.rs | 7 ++++++- substrate/native-runtime/support/src/lib.rs | 11 ++++++++--- substrate/primitives/src/hexdisplay.rs | 4 ++++ .../polkadot/src/runtime/system.rs | 1 - substrate/wasm-runtime/support/src/lib.rs | 15 ++++++++++++--- .../release/runtime_polkadot.compact.wasm | Bin 62452 -> 62459 bytes .../release/runtime_polkadot.wasm | Bin 62501 -> 62508 bytes .../release/runtime_test.compact.wasm | Bin 13267 -> 13280 bytes .../release/runtime_test.wasm | Bin 13392 -> 13405 bytes substrate/wasm-runtime/test/src/lib.rs | 8 ++++---- 10 files changed, 34 insertions(+), 12 deletions(-) diff --git a/substrate/executor/src/wasm_executor.rs b/substrate/executor/src/wasm_executor.rs index 2269de51d4..8a70271c1a 100644 --- a/substrate/executor/src/wasm_executor.rs +++ b/substrate/executor/src/wasm_executor.rs @@ -78,13 +78,18 @@ impl WritePrimitive for MemoryInstance { } impl_function_executor!(this: FunctionExecutor<'e, E>, - ext_print(utf8_data: *const u8, utf8_len: u32) => { + ext_print_utf8(utf8_data: *const u8, utf8_len: u32) => { if let Ok(utf8) = this.memory.get(utf8_data, utf8_len as usize) { if let Ok(message) = String::from_utf8(utf8) { println!("Runtime: {}", message); } } }, + ext_print_hex(data: *const u8, len: u32) => { + if let Ok(hex) = this.memory.get(data, len as usize) { + println!("Runtime: {}", HexDisplay::from(&hex)); + } + }, ext_print_num(number: u64) => { println!("Runtime: {}", number); }, diff --git a/substrate/native-runtime/support/src/lib.rs b/substrate/native-runtime/support/src/lib.rs index 4d665fc0de..fb74093d18 100644 --- a/substrate/native-runtime/support/src/lib.rs +++ b/substrate/native-runtime/support/src/lib.rs @@ -40,6 +40,7 @@ pub mod prelude { } pub use polkadot_state_machine::{Externalities, ExternalitiesError}; +use primitives::hexdisplay::HexDisplay; // TODO: use the real error, not NoError. @@ -111,9 +112,13 @@ pub trait Printable { impl<'a> Printable for &'a [u8] { fn print(self) { - if let Ok(s) = ::std::str::from_utf8(self) { - println!("Runtime: {}", s); - } + println!("Runtime: {}", HexDisplay::from(&self)); + } +} + +impl<'a> Printable for &'a str { + fn print(self) { + println!("Runtime: {}", self); } } diff --git a/substrate/primitives/src/hexdisplay.rs b/substrate/primitives/src/hexdisplay.rs index d6299a2e41..fa62d69869 100644 --- a/substrate/primitives/src/hexdisplay.rs +++ b/substrate/primitives/src/hexdisplay.rs @@ -39,6 +39,10 @@ pub trait AsBytesRef { fn as_bytes_ref(&self) -> &[u8]; } +impl<'a> AsBytesRef for &'a [u8] { + fn as_bytes_ref(&self) -> &[u8] { self } +} + impl AsBytesRef for [u8] { fn as_bytes_ref(&self) -> &[u8] { &self } } diff --git a/substrate/wasm-runtime/polkadot/src/runtime/system.rs b/substrate/wasm-runtime/polkadot/src/runtime/system.rs index 2749c3ad9f..b3d4640e78 100644 --- a/substrate/wasm-runtime/polkadot/src/runtime/system.rs +++ b/substrate/wasm-runtime/polkadot/src/runtime/system.rs @@ -85,7 +85,6 @@ pub fn execute_block(mut block: Block) { /// Execute a given transaction. pub fn execute_transaction(utx: &UncheckedTransaction) { - print(&b"HERE"[..]); // Verify the signature is good. assert!(utx.ed25519_verify(), "All transactions should be properly signed"); diff --git a/substrate/wasm-runtime/support/src/lib.rs b/substrate/wasm-runtime/support/src/lib.rs index 454ba8507f..d506e193cd 100644 --- a/substrate/wasm-runtime/support/src/lib.rs +++ b/substrate/wasm-runtime/support/src/lib.rs @@ -28,7 +28,7 @@ extern crate pwasm_alloc; #[no_mangle] pub extern fn panic_fmt(_fmt: ::core::fmt::Arguments, _file: &'static str, _line: u32, _col: u32) { unsafe { - ext_print(_file.as_ptr() as *const u8, _file.len() as u32); + ext_print_utf8(_file.as_ptr() as *const u8, _file.len() as u32); ext_print_num(_line as u64); ext_print_num(_col as u64); ::core::intrinsics::abort() @@ -36,7 +36,8 @@ pub extern fn panic_fmt(_fmt: ::core::fmt::Arguments, _file: &'static str, _line } extern "C" { - fn ext_print(utf8_data: *const u8, utf8_len: u32); + fn ext_print_utf8(utf8_data: *const u8, utf8_len: u32); + fn ext_print_hex(data: *const u8, len: u32); fn ext_print_num(value: u64); fn ext_set_storage(key_data: *const u8, key_len: u32, value_data: *const u8, value_len: u32); fn ext_get_allocated_storage(key_data: *const u8, key_len: u32, written_out: *mut u32) -> *mut u8; @@ -142,7 +143,15 @@ pub trait Printable { impl<'a> Printable for &'a [u8] { fn print(self) { unsafe { - ext_print(self.as_ptr(), self.len() as u32); + ext_print_hex(self.as_ptr(), self.len() as u32); + } + } +} + +impl<'a> Printable for &'a str { + fn print(self) { + unsafe { + ext_print_utf8(self.as_ptr() as *const u8, self.len() as u32); } } } diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.compact.wasm index 9a03a7370dd7065dabd446cf62100aedc0d9174e..9bf101d73fd663a6ed67a0af89597d6b7273e4cd 100644 GIT binary patch delta 14524 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 R%Wm|ijyK{sp6a4=`9BfYJHh|} delta 14659 zcmcIr4{#LMdEedJ`y=fgTA`Ef^attP8KFBF^UqjdVaKc*5;Hcz<2p^+GzD3xMu(7y zB(NPjtn3m;wuvoR85El~?6Go`JYk|{IBiE-rOcGQHV z{e9niyLSh{H5nI%d;8w|-h1Es{(s*tzkEIP&g-G^8>5EnYFqWa2i7-MYx>@;hPzk8 zkE`!BF6syRr<*H!?;F{&Yp8EvM2m)c2lga_{+5B=JH0M_`SsDLVN__E7BO{Q*K|Ev zq3e}K)QmMYA+8b(m@9XW^J<_{nWT<;!xVvYh zZ*V~CsIYa-(X7f3E~;!)c@s4Y{Vbl|LQ&sI2ZYK3fE7@M-84GBZUot90Bkf?P|m<1z*EW3rzTI-v6!14q!Y{Z35it`qZnwFG{`6tzNUV0v_>!hBRx zr1FM3jfQYqN<_+ra9~8l{2@`B$6jlUsW5F4;Z0&9=}+?zHmP?@HwGAXsViJgi#yCl&1KAQH>Q6Z~NN$OA(8tOJ!t}ee z@??l;92E&Qm=>0LGR1;YKu`xKB!kUU!M2ghcLZ4^HC)=gJ|M!C?mllQHUtEAXo%TR zygLms8!o&1yde?+^{wEz1;P!ONSB>Aq(F^I0ZRtAu61aLkMplDhxoWl=`c!?bDB{O z4wVCTAvjwOxUoVxyGJ23r%Be^HYH3ne+T6VlSGP419nxSpC}b|pkz?c142^Ey=*9Sr%H3TQtl}p2=vR^8-qz=B+y1r6L z*}qh5FOmJCbV+q!h7_e&$^IqsHdP|~l_mVZVq3UHy~ZV~%XuMXKPf7eoTr4Xo+6_9 za@jBH_Z0=2c7*H~so`y39e2yc)xWb6!i9lG1wvR8s8%3^;c^|LJF^tdOVd*&7W()) zG=#e^6g6tdt>rP?zea?8Fj5DS#rX(yx=M|vf^8zf>RMJDpT?7Hq)Mnv17%WA1LZ>R zN-HxNg1D0}hzKR#mXzWWVLnqP%%_7MN%L&bE0gA1S(=MNT$Ej3WUJvr=n_h1!5pu9 zbKo>Xx@~#6(!9MRQ{^O>jQ>V4Z=*?)~k{)y26g%Bv@5}JS_~wsOEC%0pDW* z-|GXu*ImwcDbH6V8H9^{XmG3?fJ_t>mmnY$WsZmFI3E@j&V!p1Q8W|_Bw0RUA}*2} z6BUk@iNPdl9mWg{ZkM^n4V^F@Gh-U-%l~4v35V^N6ldtpIjxW(3q4~NGIfAY<6kng zUZiN(Ff}`}5sE`#NJO%bjpj6sHmIjgMAUBtJ`s_+EfF);Lvo^`-mVt4h_c*lasy5P z!%WdAl8u>00070Dank%SO_2GvuM>5ECDd~exl9`VSHzrnKLQrfxCTqX=MH$qI)-y} zj8iv~Nz$ns6M8&kS!!{F4xlq>gN%!qgl>YtBoM|aG?hea8y1G*1?-V>MnH>%W?6(i zp+-OvK!BcRd?B`mKAM@vxE?&p)3Si1F$yA*XrzbB7A>d?vqF&yP2jQUt6^H|)i@r@ zr1G?KxyrFc0VZuowkRGnhy4<24v$4AOmoKs1=GrEcC!JYU;6!SQahcL$2y{A71S@c?6_-0t zSi@A{cw&LOsS7lbPbVcgZN#f2@7x98vPju&n&p^a=@O0l5$coZP#?lC37Rx!i)_Zh}YhRwrX0S7f zBT0I3XUJ9_?4Ur{duYchSFmc;LhneiN&i@D2|=eX@Hbhjx=_Ov1c<0 z(fDk}5+-b%G)E3B7@Hiq0ap1tl&sFyI%B+@+zPp(B@jXHfH@{B9v8ZZODhhuPL6=O z(36b``EG3ORKKjy55j5@hZI56fMM$Q!@#1_DHz@yaVv_9uNyc_$M82Ohf_yG79 zTW$|eP;cLaXQ+reaJ8f&(QkF(I!()vm_toO+W8Jq*okK94R^h$bD|%Dbq6z8zpxB6 zSq;{9YS3!91X3+pk-^~<1>%?Y#tb_3ayJYj7?lA2G!zE|B+7iCsLRxoL#bB>(q1l3 zr69J5ECxv7jxA@1FY(pVAuolQ{Snr#@r2{rcVPl zPZZpe*N(WP(lNMPFjKj0!kgVK?VX{@L<~Op${u?jp$fU|F~|)2Z1TiMAmJgQ+sJ7X zW<1PZ`ba3#ND@d+TZhh&^13vLS&$X_!HRQGHUWFwMC#{))f`;}{CT z_&`$~2sBmTMJQ_7#yemh*pG?EF84uuJzeW)2J$06 z5B;MSF$dW+ZBD0lo%Rm59om1X{x4K}k=st~*Q)&=ovawvKs;>U(qVH9<+XV|t6Un1 z4MbkC7*lgR1unS64r7eABOtP7gr9IUJLHIsC~rt#hzmj60{2Qb1$RPNT{eW1)8#HH zh!03Ti7F_Q7>W=yMB!+C;H;8GM@4R$BB#;{UrFW3k1F(13?yM;u>B)w6O}PW0=()2 z6p$&x|4D54JoryOkIWsAEj^EhfGbi9e}$ir!z%kj{&`5uf?6Qt+@JR2m6Cm39s}J< zHl|(X{bZetGvb5b2vy`N*_0s2p82QHa;jlaZGj9?A{>t(jAbXCpcEu2%uFq7O0DBn z+>v&Zlx{%Kk+N8%QYIxDXVX-h#yy~hT&B?0>HA0=v=03dZrACLsdhiNo!S$seNwgK zsy(3EgR1pZJHf5nsXe6z4ypFAYA03u1=T*S+GkXIM74ja+CNk67tu;13|pHbwPrU5 z&o1mRaz;qG0W%1dw%0qZ#z6w^IS)PP($|Do4JnY(0KbB^qLCctvnf)p7_v<=Q%N#* zF|s3mAFPUzE%Ey>wlP@TppTR~2004)2s>jg40kX9PR77a*{4JqhrkcUC|8u5*233_ zf<%_R9;Am8Rl<%9KC3cY0oj)qph=Q$>b;|95nrC9UZle{_TzQ}(_?5s6PR%su2EX* z#6ST!SUe&-S@fqNFt(KVSR*AaNOmi9Jj*7Otdl6>Uqd2?%-3yGpJ(SArp5 z6LEfU3BD$(Ccyw-6S03Vz_&b8GQhV)K7bfZ5s&YQik%uzjO9v)bOTr-dr|<%Czr4l zq+pRkdmK7Op!`-uMtca+K~=~;3sSrvfxcC65OpC3ia7C|+4%Ea@x58jG7{CuG63M- zo>++F*rc*X4PsaNE7mo)u1hN^(V;=iaf{OYPYXen^QizxI0_O!B-_(&IuY(~+ zQLG*W!X_EKc-nxZt)2o-6X<7>AXo|nBb-DEo47DBygWk7BMA+~D^wvsR!7H5Du2-u z)KU5Ns`8W@uU zX=JT#T&L`iY*QvG;+&#VmxpBmkvTz`7;^#$##sKdDck`$faD8h281CSeefcR`~hwR zydX-!0i==AfFAN-h-3n25W&F_J_bYYrMf5L;*< zC=b!lRD=kO@+R=XIb2$d@&-Am9WY>*%^?U}_C<1baM{1+cAfq(Rqx1^bK9vs5{3PB zv`+1FYG6#YkE-@D)jqD;{i^-EYM)T;ld2t8?E%#uRIR7l3DrKO+Cx#wL4m+w1a5fE z$jPQn>Za;GKs;}ZM`dw_#t??V-{p<5k};?ymg04Y9HYk|gp&2BVt~XMAUR?cG2#9M z0^1hEcC?;isL2p0%=RX!C_Jiy{dps!Vs>(x6tk0Xg3{U(s((>}*(t&XM#YdFVu%iTNg8Ck%27BDCG3UGwPI&fmj;#<0~sv!I6dNI zmek(99rf@#6DIgG(N9(0biImCAV=JMh$Qj5U2M)6+XPg^7nkW#!SDo{EBMC=f~IG}to z(-hoB-9z0#;jXZ*cgqo0s7{rlsv|}5@w#esC>aAfGI@l-K}`!%)gYR>5NbQo+uX*_ zh{lJzv^&X`1>^^fs1WvkbKpejwWL49`|bY+4#-P)=?`|1--+I)vVJKkWsGnU-LjZn zA~}i?Wf=dqjId#?6=^S%1(!tpT~RnvO0@Ti0(dNgCQ7OU;UxBh&5}B-X-UW*VNgbs zcgN>_kxe3ry$UF}lw({i3T2x7UP*E(L4X2IX8K>n?SCt7_(wZ4IoJq#ImbNtYMZm) zZL=M6tTQI%f&9Xc>>u($yneW9${_TjLX0$V?};#OxizP9ugP|dt4dR0hZ4=uZH-jq zCj8{vKov6}`-e%#tF;`m^bENxJdK(1EoagRkN9P0WTlx3AO^F}kti%WVk9!=E(M9T z4h%WJa)k}&d>CdM(O-xI>=*~ws0=|$C)(^TfXgx#c^5cdgneOnnF^>F!X}74?f^Gk zS=xt{u~eTL&{mgH=SHPtNy{$oPU;XZx5^3Gl@UU@|KJykWG-=n5twN|VL@f(%I<^6 z<+#2dC9H*C`J!v6I*=`b*Ofekn^gzz{Uj8Qt}1?T1MSBBP}ZZMONB9&!G|ew2%FgQ zl_6@73Jkkc2QT!=Mihe>!Vx8@s*-aVZF=kJza+inix>Wog)mUHx0>SCJOm8*n-l;0 z9=1`mUs)+h72zs_j|%Kyo9glxom6S#575D$uMH?ib<*LT`eZQ*^&Br zk@4V=64edpAMy@LzCx|H5jBMrfTu%2^sIPu|hQmg>%ZE z5Fc`;0~12T2qU#bEQV^uhv~(Y)HlDherav}eJHEH*Qz>`!!<4%#FsGc$qK1z1TutG z#RC|gt1a-;OI?Ux$u|B0DoExpL6VLu-}69`Ia&sNuj+LVql`Bw!BKJ>5;BdPNK9y` zDWZ_ZhLMtdv#R(Fz>J3cpI`Rp@diKv4y)&DW-|09ZRmEUEQnk6+ z23hD}+kuS?-bilTVZ1^v^AtjGIm|%k8tlcu;y5Gj$d8>h&3aPTO_vgQ`qcPrW7Zp7 z_A#{HE6X+-r<%Q*<-dbw`s2&D8&SFDgm-G|N^k#`2aR)$Ugg$rQS;K)7pb|wd$uCj z-@Ehf=P-D%N9gTdrsvO1T>O{b=Dxa&bG8XZp9)b;4A~{BsmQw>JrvAjjn{MgF5si= z;lghGzEL=Bj4qn~&W^v<%{B)gazC^)W9Y5kR|dZ%`?v1e6f%xxy~D$=QL}sGr147D zyMFf!n(6=Coj3Ki>6TB|=;p<=6ZPKQxyc*9x5C^1KuTZjef5D`^~KZYANaZ+YQ^Nu z_kP^F@R<)|_jP-JkCuCTCv^QWYgY@%behy9 zjt`Tnof+hj%VZ1LC4&n`fN)07*zr1iO(MxZw#fVLL#=I+qK?3F`qU(++Nmr_iZd&l zb6KzY;pVzlB&t#S8Y(A|5|JIkYXNV=!x?j>^J=qKc=#OM`>sEk^S`dg_2V1N$t)Q9-}|rk;)kldNB7q;$-J-Z|BnFd4-=9tH z1@zA**L!o1g}rZlVK;iMPrrcQSD)UXukxOGdJUoe>eF5LBBQ~X!pAc5(qDe&FGy_$XMcd-~3|3wEN}H#PsFfufBF(qWad?HyAi}^$Qnd|JrW|9sS#kAJto@fA!+Z z3h#R>TXHinKrp6Gj_nwKaHlyH9mY~fhK8@EJB$@*@&6hUt5U{H&Repo-JHzZi@ir? zz71X4_|hPL|LUcK_`UtxBlvyk+Y>y#GZeB{c;EZZU!b?^Wk5}zdHD}(+_QPu-b#{x zhaYu*d?$~9L_Y3o2Y`HhH4l3&Vfirt@L`{8NA>Q~QIX6*L9t_9aY{jn1>WDBu1eyF zq?(&(XM(+xpZ@Xb?}n^jT=xYXm2AsAQ#<{_YoCqh#^aiHt)^)+Xsgj~)-|mbt>#=z zThWoeot=BS`!#3W`^XzB^cl~6qps!EdMiDrmWjlr%jO8uINIQizEOMoOoL^2_Yd`U zZ@XXIJvcNpcyI4E5WB%jAH~A!aLg=P?4_MSi=%PwIjk8)uNj?B;a`YHM;pDLypc7I zHhSTou5@P`t@zfZm13yxp6w%@VyotyX|!}SXB#b(;IU1kmDUzW>;&2x4F0{LX%##> z+GJJtbnoi!=^MFU4DRV2`s4n=do|~1lU38-cXxMx|6tGZq3(OP?CI@UHZ-ik8IoWK5J9`GV^=i;BE7pSpyLXS^&{NG; z^q#>zox6qxH5hAPYin8?PF;aEinc;!9+ z<|<=Kct3e_3EW5Q{BmPFW&wK!FsOKHKI{zv>^aPiVs<4)lKwP- z%B@DP@qYO84*eSMrT<8KVlIxS>*m(!i@mOlB4XQtI_d%F$3VDsDUzq>?2 z4GcqIj;hX{Za^JVo&H{Qrc`Hm7r;&|vC?-yOK!w5KE^xn4B5rGvrD{FZ-2mT1KE3r z$;5!r6RJ0GA4%eoHk^sMf&Kvv&czD#_u}E08tw0=^ZX9YoKT&<0a%!sHt<0mE|QXL zw*-fuX|rzZ9vSJ~>HX+!d=Z!f!561;mOTqd`a`W`3EaY`etNq*nYZjI41#ysH$hH$ zhpD_(4P((WIMlm*sCRgG{|K9k*}P?R3TO`&t%oTkLO+XtB;K$EC8IB3U-fKxHI6{M7x#V1z<8Z<7f%%@56S&X5xV7u*g650M;zx(V2GZ8ZZBLlQ({$ Z!kBCKp1B~5@oT-my^uDht_7nP|1am9UEBZw diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_polkadot.wasm index 7c56e0c5d704d047142983e80a0f8ff8c5244eea..6cbc2ef9b954b61a94ec459c330f44ab9975f50d 100644 GIT binary patch delta 14568 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 delta 1800 zcmZuxU2IcT96#sW+uPfowYyvQ(RIMiB*R62TzYvsZY;g`@eYr1#+=CI(-{*fl98GBZPF8&Q*%py9rP$F z_7Fu@6fuq;cHbS{9zqQ3#QDgY!pK$4%_R7UcS)hEjAx=4y^0W1`MDY9;rCI7W0RLf zgS>;wVn`Z=?>XrYVi9ptUbNv)`658|6IYnn__ezgHZm?dpQ>_M=9SM{p9a?CI2mRh2&T`($rxZov;$PhzZh2(X>hUgFNz!${9&>MJJltMwgTKy`t7vn{7uY0C**%v1oBb>xZ69fTZ zKrMy|h%@R+XL6@Z#C7W4@LgH^?oE0 zIf8garojpr!IZ6=dTeV<5``+C#Ia|K*;(y;c)#Ws|2&W**C7S9F_<6`x2B#v>V zdNFzk!%F`g8-@37=in6rkN1tiIn3^K(V*3|zF7=HJ-=C2movC>$R6CGl@MIde{^zy z0m$qJ=>7VZ*F&@=naCxQY4a@0&KvpEZ1yzV_z(?1>G0NMlhJ(Q^u)Z8glqOUpbC|Z diff --git a/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_test.wasm b/substrate/wasm-runtime/target/wasm32-unknown-unknown/release/runtime_test.wasm index e8be4d6d0ce19d2b34d164dca436042974ab6d33..45e9c3bf2327d92d207a100b1838c1f97ef1fb4e 100644 GIT binary patch delta 1809 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 ed_%?ugKcIQTCq~RaB`_wA^Gvx`E&~ZwSNIxYm Vec { } fn test_data_in(input: &[u8]) -> Vec { - print(b"set_storage" as &[u8]); + print("set_storage"); set_storage(b"input", &input); - print(b"storage" as &[u8]); + print("storage"); let foo = storage(b"foo"); - print(b"set_storage" as &[u8]); + print("set_storage"); set_storage(b"baz", &foo); - print(b"finished!" as &[u8]); + print("finished!"); b"all ok!".to_vec() }