From 22e439d8898dc095ff2835b21c414d4df5d2dd6e Mon Sep 17 00:00:00 2001 From: think-in-universe <46699230+think-in-universe@users.noreply.github.com> Date: Fri, 11 Mar 2022 13:41:54 +0800 Subject: [PATCH 1/4] feat: emit event for refund in ft_resolve_transfer() --- .../src/fungible_token/core_impl.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/near-contract-standards/src/fungible_token/core_impl.rs b/near-contract-standards/src/fungible_token/core_impl.rs index 967a05b6a..addf2c0ac 100644 --- a/near-contract-standards/src/fungible_token/core_impl.rs +++ b/near-contract-standards/src/fungible_token/core_impl.rs @@ -1,5 +1,5 @@ use crate::fungible_token::core::FungibleTokenCore; -use crate::fungible_token::events::FtTransfer; +use crate::fungible_token::events::{FtTransfer, FtBurn}; use crate::fungible_token::resolver::FungibleTokenResolver; use near_sdk::borsh::{self, BorshDeserialize, BorshSerialize}; use near_sdk::collections::LookupMap; @@ -240,12 +240,23 @@ impl FungibleToken { if let Some(sender_balance) = self.accounts.get(sender_id) { self.accounts.insert(sender_id, &(sender_balance + refund_amount)); - log!("Refund {} from {} to {}", refund_amount, receiver_id, sender_id); + FtTransfer { + old_owner_id: &receiver_id, + new_owner_id: &sender_id, + amount: &U128(refund_amount), + memo: Some("refund"), + } + .emit(); return (amount - refund_amount, 0); } else { // Sender's account was deleted, so we need to burn tokens. self.total_supply -= refund_amount; log!("The account of the sender was deleted"); + FtBurn { + owner_id: &receiver_id, + amount: &U128(refund_amount), + memo: Some("refund") + }.emit(); return (amount, refund_amount); } } From 2ba10cc16d8df707064177faec588e5a96951d70 Mon Sep 17 00:00:00 2001 From: think-in-universe <46699230+think-in-universe@users.noreply.github.com> Date: Fri, 11 Mar 2022 16:01:08 +0000 Subject: [PATCH 2/4] chore: build fungible_token.wasm --- .../fungible-token/res/fungible_token.wasm | Bin 209117 -> 209109 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/examples/fungible-token/res/fungible_token.wasm b/examples/fungible-token/res/fungible_token.wasm index eb2d948d24ff77c7de1296c8901b1acf62ad4a70..1bc189b7368933dfeac6054dcf508066a22685ed 100755 GIT binary patch delta 36319 zcmd6Q349dA^Y2#gW;e;^n2>~=kllp)zJnmjfZTGbc#B*fQBV|Ayb|s!LSTUgLNC2@JB}*^3`xYFKnXlO{YVIGMkn==hCmvS+vSEkG^rvr+0l6UL$*~^N?8RIw;<;9}wS* z9pbn+A@+$M#C~zoUTQyQ|HJ-^^Kbh_`x@6J`!Dw2>?QW^9VZ+=I(~9obj%64>=+gD zm*c$Sg5y2spN^%@WzKOSGQ<}$Gh}qg*pS^Jvs`bxR=SqD=DB_eDGB*25XX-Jt^1ME22TfxzRZ} zHm}p|acYx%lOt}YBHx!0_fwv)M&xkX;aeDat4om}^~cE3{^w_-D$^w2l&D+joNs4T zX6z4R!N%tH2#>=Pq8(sJ9y>vC^pkva4a#mG?WKkC%rvSRRl(-5Y0Jle0{7FtH=`R` z0-lU+cq2x>`4uYDI$sy9H?8n3)K261jhKh=d?uzH#BEriGp?^z(1G7r;Xztam>hcx z0k}KvJ`gRBJA~(n@tomgypf@%@7{`Dm8q(4UPWfUq2m2WPe{ncb3wu*c(x~YRLpDo zh9#ye+Em}_#HvXDE|F=QB>jQs8p+IeY_i4o&t!vdimy>hHKgC40-+06r95k=Yd&vU zlE@k3yEUyf_`R0aiB=VEOB+hG$#<)FFYWWirXR%hxAeKd{$AKAn|uwI z#QC&ZuEHm(bR^nQ_@AoBogki3Cj-}Yb$*})zPWW%#DY=2mF;Wzj@4~Rb9|NRJxd3C zlk4?BQyr<-G~s|!y71U)+ONISox?nZmgoby;{xp(10i>uQLirK_ zS$=ES02H1^eQ_Px=tYvgi;Yrlk)v1&inOuBS^8HaigRqb(__;Uv$UYJeJag?v?^KJ zo4#(1Q|L`!R^yjxman9Js+`h`LVaOPZl_s=otpgWMva@del=mA(S7xtam?7O=gh)g z+vnTSdLI=PF4B7v2>)y|7}o)9?}EnHwjG4$YIiVZ#vP0~bw>|8A3GB7>)x&}75o0v zZV<*sTKnhFGSk{Wtcq`jMycMRQt}jTh)7$T9N|T4cu4=k5L%n!d!$2RS+dhiHtU4s zybg&?{JF!;gLlKW_=a>!_C4FFf^Sl% z4i)#A9nh}L839o|gnZEQ$xf#&JMnAh)Yu{xGua(u(^t(dMsuWT1-?pMQmMq(qDwzI zCq1`N9p7hNn$fvwch;t9zB+e)Qeh->)|M!)Hgpkft0R+=sVrL z9v$%|^{5K++k0@Pr+VC4Mjo1F^xzs=k?+GE)nNI&qbb4ncaLa1#>}NepSR~AwyZrT zs%v$h-m61g`4MN1rMbOcHc4)~t4Xq|Da$N$YGI33V>>!a=W6HP)r-FL9l0x&jn9?4 zbe8Py4r;_F`sUxw#%;^p57U)G&ppE^Pb_a@lUm+8T&<#bNE#yT%}up?dd{qkVlD(B1z!N%g)Ja&&AZLL$5c6AiDF507b zggllYVtqXysz(!jIS*aHAR7K~=kSR5Nfc`DVR z7gLtUu1)hbewDB`h$fLy3nWR24d{GU0+=en)>i+D&*h$I;JM{e+Ko0#RM&vTzwr59T@O2*Y z6J7B&eD0gN!6i^YQlw=O~?aqa5Y1o^X#_AMIm0bDWCSo)8aZrQ19q zoiNqgJvME=Z~pU@t>%KfhnTMp6M|g3e0!enK!<&)Lt8-ldxvg|vc|h%0en+miu1J| z=8QLm^Cak^OC-S-ur*Mr&kSQH>V;u#tRf&nf^P2;X@h-W3*j3wEY|nKuqNfw9h`31 z3zgpbh4SekoNibTl|C;h-O1^OEm7&0UuXg;8orq98#XN3_rQzA=zJ+JHNf@GmpWM` z>sCXbFq?GQOAp0PGHfN>AU2p);GF&FOBr4%>I@rMj~zxChIW##{qQPD)3|5AJBPak zEwg#$ON4gZH)?pTgi_Tj?D~G2;-u`aL(BJV9sUTN^<})=na&jset8|yhrZvZH1a+0 z>Ii~Q@oEyTx!IiyTfa8IO4|4Oh%yhw@^4Nopq@p6FI{Ly}1Ib&a=DTP4E5u&SwB{LIUa5%%}jfmt4_qRn=eTfU}_zo{^ifJ`=S#vnWcP@KP&A;)! zBgJ8keTW-cEF>WCFxVvV+i>+E;4i+x!u9!Bc+72V>^ zmbdx?_YZB8ulCAY;KL4F*%nmqu517o;k%W0us^%%eq4vIs-2|r>7UQ!T4L04eq17u zcf+biG^em+RaLv+kOcYFL8i;{w%e>;LHi1SUwx+?!{N5IWnJIOULsK%%=Emq1t4s@ zu5F0F1Z#AdBtd4-Dxq-WA7H)f(<+5KHoffd4=szoNmlsK)@KL>?EFOVZP%x5>^CFz z9sOZ5IG+A|7OpK%+*!D5$1l#C5f^^*^#{C=n6T$wusycNZU8-fEB<6N)M_uUBC&!f zoV9mZ$W56%c&GsRrhN|{zWcsE!;cn+xkv6m?>Tnlq_|n`KzR#Wo){!h;=4aJL9XwA zatNp40s97>PMmg112X1R1&&hIJXfRPFYSRb)=uGt@|S@(uYK$vO<8N5O4}n}Ug;Nje&o;Ic>dr|)Lrq2{;N~X z+2$;F)Rv|1Q>%y+&BB!ccTVA4+HBv5zv5`NZ{}YsQn&IbY6sK&*F5gjv6?lk9NHe= zqvzR|&pltg)^=rEL$JtzCADk6szoeJnJ1*CJ=DW^{9n^<)3*2ypKlfMwldLbO|rsQ z?Ls;&^L4sV1;c9ah0(Ot_s50)7{vGfT`R`)nDx{7TzX9`dZzuI?#~YQdWEm}?+j!= z@plbmkGwb(0*$=buxxR$TV!dA)YQ1ux9ws>B>#P}2e@~>RQCql$6tDsKJ%TrG=)C* z4ZqwCON8y0yF^;zUa+xa;JLy@b-HpV%>T?QUCE!kT_u-XMRH-%wOd4tX=K<8U^N(_ zeI)x6)vvnKto?3Vme(#?bK0FewQJ{Di@aX3YZqh@Q9CT`t`JqGw`HoJI`oC?BP)-j5eE$p!DOe8 zlh1}wLYO|D_0~*Gm$@O7bf+iNK8rj~k5flQn~6N*Igju>9?v?;#g%omOHHdzo`Drw zGZf*hArd{fq-q=Gk0F$i#@!_Z3(DVAcX9fAiPzzAqTfible*Tjl#gDkEipAW3m)2g z=5zBbk4@*qQaQ^>l}+0%(D$I%27GCvO_4jCRG(JJOHQgp%Vd%Z^)4-H;=_RF`zs4K0JXTm6*zLino^l%9D0^Pk4P62o-ID+VH41hX!+u#~jw?OTe+uAy}oRG6m~Op-p9$ zOa}-^l@Ps^jkks;|no++0!lshfL2QEUXo->AN~L{fKuMlN%ioDr$I&qtA} z`-DZ&6RrbljFa3PK?!n76m`3S=6;O|-~@GmQ|D;KX-G6-u9Rz{X%HQdRW#~!gY2(s z)CHaWa}A2#D=%oY!kALI6|FI3HhZ3&s!>JxZ46cOiw>osz|aa@U{U=F2zuY342+fP z@|Reu5o#Kjhh)#is8N$R%FryYm}6?}G04Z`s1_ue7Doqe!0Xj`YSn!oO9T%|M7uf6 zgN`S({fvutClF;D7!2tHiq7G2M7v{6y!KsLURVI+)pp9ziqs04+S!6qDu?P@m!s2Y zC)EfMJfhI>8eihH{W7~E6!o)QUXi-To3$w)NtQ7QR4vNKEtgI(<0xR3ygiY;X_Fb} zzTL+5M~QqRqLKfGXrdyz<)1hurel=9^>3Kv{u`q4|AL6})?4Cqc zWFO&KyQZQ{adLhVddr{k(iE@GN$CRV+>gKtPo3TCu7ZlMk`7h&a@EvPAYG;2Y1#LpvT z!>QCKZ1pncm5l5#QyDR)dGcGPH)gh^sxVB|T2gmpeW9hYXscUNMn%h#VHNHlBiaP{ zOG|1J@w3s<;U{{XzSi;avdyjN&*$W;w_;)|7q*rk+)9nj%`+L*id>p8c3EYra}~)! zGoYVR*`pQp28+e5=x%Xt^vwHV>EmwWp^PAQq8xA=J!Y=+g${o#z`EwkW4BQbjg$Ru zrw%T2B+6B{qZeM42X2Q=F@n>wS!=3c6fat%)wpY49O*mOt0@QyT2m8od8BV;bR|H% z<0xZwN`YMUb!g~-yho=VH#8Y*b*jcT;;2shF{akFpn~F>t`;sQXKA(jL?IIGNL) zDptI%H0(YZrNwJ;+(xRYaKXeNziLla%GgAAfQgwPf9-lBHh!VwW&Lhw;eU`k7Di}9 zJ4$e1>myL?CS^s<>j-^K^6M-0-{~t}*6f5ap^Cnx`XQyS2-X)fD%+7eX(g~ZnH5qNZIdz3vzMAK%#b5y|ySd#1!FXH4^J?Md&<$Vmb%0MT* zL7DRIo>V)yLR|0Kf%R5$|Ch=&Gl(ieEK{3bvZUHCeElzZ>(5t}D4Ti>UjN)Ov1 z{ImLLjy%+hvS^X)a2GYLXl{ZEV-c2^rLz^;w=^hKquhlipUIM`;m=(f6vzDt zv>LM1wK=pA^3q-O3YHZAH;j+oka6vMsPPTvlDTroJyb93YqcmRZLM5#4}3Q@8#PZg zy-%xWDW`-l2pEqs`q+KFsj)G0#>rdnQ`7pk-dJ{gA@lCTp29Afc`y9rtMb}?aCr8P zmY(~un=olCX4*J;=w9mlZ}ZXxnRY+53CNltC*Mz%>iR{D@Ir@>)N9AGnanPVvBpSs zfzWdQ{gm2gw`vo_^|k4$w_w7t=|vwFV_u5{GQSM@rlNELx!^{~*=5KTDtj0xr^&k> zpz56qISm00o{D*=SIMbd0K_;#InWWI4*qOn-;mc{PWbrR7KR`*1N!Ba#pw2@CrE0yZh0fE1{%!kh#$Q}<-SFa(6a^iU_#cBnXS#6zs zEH^#`K9{cJ^P%G7MF`KcypFu>Ve-;>`RK!xL`UthEV3g<3Yp_a-v9^L! z)`wCmtW~;V9Rd%Z5cr4sVA1iue6bI;HP>rKOR!Mjn~Jh`_n~qBwhF8Nu?oFq?Y`7K zF^9!KOMt(oT7sYAuzdf$FC4GMec>ai=W1BfB=)0QDM#MZk1~2J=PrS81aY18-1oWl z_*vU+7yzi&NYlPhU6H*+jE=;tbUW}3vh+O8qJ3l(565YHKQz?_dAc8l`97J@ACC8W z*`+`At!%{k&<4<<_7}G}w}iP*Rv0T*d=YacUrn>x-? zh|=_Ubg$9@Scq)0<Ejdp}jRaOnsMdK8&qz+EU9X2q`Uk%ymv{ry^|JxNvLS8@q$ za*B_9H~ExP`QZ@+64(XP!3!(9$Hg}Xcyga#BDXvVW4=?CJV^-%bA)Em zG^|eE%mVUz`B@hAa}}_O)XvH;pQeWK+Z3}f9vAv*Wjmv^+47~Quul6-zW)^BsiiXW zX{sx?XHkFG30`vEC~K)&i^i5^?KX%y(jF-XQ4jR4lY=go2~mY%0jV%m?soW@POF`fp+=$Gvv)ilvS_ z9NmMbpcByC@)mc`v5&luc~d#Hk%zyq&rm$=^t=fGqHrFv^PW3 z;vQxQ=?O8UHl%EZmc$b}hPIm(7r{qL&Kp5V)$lNQG?fghnzYaG5l^9 zC{+IS7)8UWhegxAQT4>>IVqo`+LesR4j~B!tC`T$kY!3(;6w7rbM!cZdmWx9k83s9 z+TdXiejdS)0y*w^Sdm?F1t2qa&u1$Q?{=fy_dN9$hdz+?hf)>!$Me)U3>#dSLUaSy z&~;W-^j-P*P-nv=Q$EGW15BWR`~TY zd>Eo9AIP@DC^OxhOVuR6hNaB0^6;cu1m{H!EVFus zkGfY5dI16d&(-L#D>vqt-1GuiD_%lqcZIAn96`1BWY^(TYk){xW&m{+}?jSb-xBTkn&DUZx~h@meSiz#A{q zlVLdw=&hi@Ybd1h^-cpfG-7kyiTBA?uTa&n-6~6SWO?cps)l|s?GN>1 zrk@qU4mU0lAV2vEJyT(y8Z^Qfgzhk#wn0AmDtUUJHI^;OzZxLWZ(4|xLOx-;b08M4sYo`PI&`i9vfF_F4L7o!tzua zq7r&)aGJ-att=zvT49+SfkCX|i*LS$asS^7D9;2liM~aZh{Yk7C~sCkMft$%)Cb|= z^{>|5JJ;VSBislnJbN|3G`YI4s=rKb>mlDfOJW!%xyMI<}l z;}p&T0TBFKX(dEp>xpzL-zSDz{Q20%jgxsflv>Fmxui(SShL+5CqK)fjIe2{gj8*+ z{4)ohGnUUIsGYblQtlps1;Q&MD8&yfA3883|vy zM2;Crhp0&Q8%3>6WrXnD_@mr33i~_8hM5azT`aX&N3~_2(FkZ7>XS{zkk=KUy9D|5 zD5@u~jiwNbBy|i8^w)5|sz#_^2}*f#-WW>hZ7E@=B8l*mC_M%0cd4P@c9DYHsZ7CJ zgLoU-iyljlMCWbfKAoyx*nm5R;HzUXXB?0-#!~y}pci-K>9J6cPio^RuKEsRlgT5{ z&5dcyV-MK)`HPd?qeyW`s&$Y7G;(a zXY3U^jGXWmJXzZNa>hg| zz_OslB&t-+aJ5ka+X`GFv_j6uzMERg3LbE!@-@)%LS_=xy?eDHK)=OO&2TeS^T7et zK2S+`g@=R36QxSCVg#zWP(v`#Cx64Qh~n)@=C( zS?NNX&*GrJfB1 zNpW?%6KtZjiXiKPJ$DVz@gc4s3Oy&UO{SXtPB2e*Rh5%_gLaY& zO;>J!4e?V1BF6!dj7h=W3frGt0=kFYq~lF14|gL6ylK2Z*Cj=>-b7(;pgScePQggZ z-Hc-O+GrTauw4N=Hvt7XzM2B>Vz2CwN0p)vF;36Wce0ci?$768GuYfc{UVR*hV55b zc}Ei)oz-01w=msU**+St*udP`~=ARJ=G zYgGvb!8zG>8ud&4nR%pB8@!^EW4wKaT42m==c6Z^r@?rr_XAsFVP3~asdPkk^3epb zV~qTwn5xN(z}b<~M!U5ycofL4KcixA$`58@lYX>Jm(-~BC?zKc))2?SEfH_o zkz3o#kvtr^#JucaAC$DY2BC7AxtAE&Lvp&r5v@J)ki@jKM_!N!%6(4=T~aP`Fkl>+#7g~W%?W(0T?3}&w=YWQ+_!I$61Wo zLtwD+ah8s6QoY9GI3KrdU0VZV87^3P02^vkOl4+gc^wcA%h;MYI%hgXFvCW51lR1c z-1R0ki!f@1da#>>7quR)JVWtdueJ)hGz>rmn?Cj9;v91^kvo?v#i>rO?`N!5q^8R; z%AdqLRN7*>Z!Q)QXXN?0)ClJ~YQ04dRCvb}8pd9OcV*KS$#wJ4Y2KBEZ&A0jSw^x@ zeHOjV2$m{)fDp=A>6wR!ItsnwD$oz$O;tJcXg=k1n8wn4+dFz^b}b?pZ)5 zDj2h;qp67SvTe0vru=*%-C^SGj0YA&t5kXx;qXSOe0C8fn};exn~FFNLa~uziusGE zhnW)+L?E^Z=M8vF*0&<(Z3Xls)U>1kM|2j+vjwyk(A#fg>9t7ic^fAd-jPY~AXs{m z>!OEfAIm=Ppvb(UmG6*~(B;=Gro3B~+4l-`T3CWm1gUXzU}FNKowTXkI4Xe$15$X6 z=^V=QbTQk|kxQs!^_@JCB34wu#5T8HHf^anOD{Di+TWMZJgf@y-i6rP<;8bt9D3l$ z_o#QX(VsGh$~WKuyKXQkU=q!o*x{4ew7+E3QmU2k7ME(C4AeelK&R*3_o)?BJ*-aD zik@q(Z|I_-V1cYqp%~K3%+> z3rp2k@!cPjC{b9iekc$dg>vZ4!7fA%3B8{8Cq)o0Ay ztMB1E^t5X^`~V9%-9%nuq*dSv6Ip!)Ev;-Jw|^cW+cd!^wFC~Qm8`&7mqYT_l~}nS zWs%Yy+A*26l3Mh%YGtxB+QKhRdF(&a&fRH<{^v@1#C?QI@rFbB$K@ld;JzG@Z>_@2 zc1#{$MGLbndG`m(t6SKU<*-(%7ybp-;xK-PlEtizg`H(#rQ>}Bfqsy!-iOz6Tt5Cj zy+nuQ(f27eV+qsf>Z<*$RK+i?+YJmmc-je>R!H?D%Mr>43o-p2mU)Hb1;h6XX*k%| zSxxDHy069{y*aeo*j9Hk4@ zcd8a!DbKH=24U*u3cT)ADjO7`5<6wDBD$qwK8uUd#|s#q&QwRqJ_*I_0qOjH2PX=-2bQ;f zXZb333wH+W1zc7Kx3|a6(-zhYXrpzUwVf9}q(d%fhL}wE_0&Hi@5^HJHf8Kj$<1LR z&K-^n+G)i~eorDT!IQbzzmGMxPcx` zyTH8t$x)t=r#ux9$JNK1M8h{ym*mx7fyi1-9aX@1RhC*!HI^}(aKbcKw%SCu!%2H> z6Wp4sa``4|mVB8zK2Ddah(>|RnWIX?2MH4FaTo&$#dMEn0(WrM0qY4Dhc=xt${B`Q zX2{%PjI0v5jBmfooy9mSGg5ZkOdgsppWKYn7s?r%F`|p)y3N$|2LAkPNn7Az%#{tc zP$EVa@Q~WvBhkkE_NN^$SNW}yqWL-fD=q zid)n)9(`UOY1mCTEqCsuUd-R~1=WoXdMt4wOTpU5yG=SzbbFM-56Z*4aN1>}JP#t*QC1OxZ3A{w6ITu& zM+Y!}H(tA1r?`e{tV$>^hFKIi|9lE%v3&F^N_6cu zh-CIxnDQ1&`4xr(-U0fG8b(k38U^VM^sRhH7jS+}^?O?C-mOIPuSm=uQF23Uo+=}l zc9nsZW51@l+FPnIc$?Q7uCoF7_-lH`wY`K(o-A+qhK5$PO5U%K!Q4(7So!rg^co!U z9($+}4u*`{Lv>tBRL?jg*X*Gd*b@7F4?UE$-N3PK(Ds;(&2vH1JZ0M!b6 zPjwQT_Nm--fYQ1epk0rP$BONR52EUc9>eL zRu^tqtMPxTMwRy+q3N*vzZ{_skA2MgPY-RwJf0opb$LSDXyX@qors6|4fiZnC38IU z=@orRU?u%@Ys=A*?zXD_v7B=hPPo77b&k<(;{7qc&Dn7>=NQi3eATBe z!t^lxXgN%{9$;5%`y9q6|!=9;xS-!$j#(`l@o6Xgyjl zE{D-{O+Q)=6QjrICFL*`^a^^8Y7%HMTNNLx$Le_&N@3#gl3RW`OuQbiuPTSBs8`gB z%V84q1bufoOroBsmz2XK=}CIdRc>r<#KBzqWcL_hpD7j(u>Ps zD(jW?-Q_T8dYXPT03(0jhp&fuevFZsC3Lqd?;6YTnVeRFP1scm_@-!E39Y2;qvw$X zlU|~7TRqU~mpO_y7@J=Xt9q-#SiO}oyUSs?{~o;#Q*x~s?P8gIbZCL-7NTqAFnQ%L z+{yC;F`g)x^Ht?AE=;z?FX~H2gfje$`SEQkuxGdAbgt0uIH7* zL;#Z?h|w+Gty0*1^4mYClPiCuVk4`Tq6Ln!$UV^MOGpUOQ~t2-3s`O^I-DlC8Qq8;l5d_F>AwF!A9U#1sqkR=Zcd5 zL_E3CS(ZsHQ;csVH4~|je>@AvVOKuJoXF?PxSC4h!?M?3AERvwmD^m{Y_2WtIQ&8dcN%VH}!0v&pexPa0xFF3xtt0lLThap_$VX zUNT3=Q>BNQQ4xh&r%<6dl5*s4dWNRT?ib!ljxf-?>P&B1&ee0ublckIKAD zltI&GUZPr}WTvch2}`tT@&SPI`%C1OQ!Y^zAXWo`*P4%9Qe2`g1Im}TT&8+0tXAON zD!qDxq|SSud*uGo$j; zZ;~+^T@Y%xNlxX@-z2BXxcw#>mEZqQ8P}Q_@ivR4j*VBaILenDu9DZURkb?!CqDVX z0>}neZ>ZJWU_w(lYH{&TC6pT75er;XP&1<%b~nkGpp;ik~|38dVCL zE74@SKzFTnjXK0#Q+5cxAO~{uISuFcM_i+xB4@1Ja}5VfNAPG#7rqf%MW^8LnLi^z z)T=m|(J)3>ga<`*TLwf6znZZ?G{~IFv~DA=H(ov0QdvEAbtoFfXVxq(c|KPZF(l=h zB5D#!;t85kG=xM4LMUvV5S^0E(P(U>t9Vn08K5powTqS%I!6`oqh0o$g}1RT{!MMN z;pplG^SIuT+DtAZA_ijz$ddVt3^kFOfjp{^nu$bAnJITEWQ>W7GLXdz8EqmX4dlvl zlo3E?BmW|WjW9`h=mI%MA;U~$xPhFgkXG@$1O{b}LWY}^JiLJXqg<7E$p0v0h`|#m z?dsSZ*~lrpgXXg0-M6WR*L)1{aTgd>?HvZ9d5Mg7*8&rk8wrYN1wXs7>s1>ZbSy{4 zALX`FuWJFyWvCq%ci7y+*>qX#6pv-@=3a$$dhT1eTRynQ=1yfHu)nRF1Sr>Zd5}2D zA^Rrc9NW6}BDyHYC2DZjo1Y}w<3LJDsA!0n0ArFxMkwY^4-N|YWY;k9M8py<3d0rA zJ{85zsO#f?sF$0G_;AW>RgZub6(i@$m~fFs#uUcOxNy+~2Sc*M#hux2y$Q}-z&zBi;HA6O2S^gj?TWfDz$teTkV8j}(A! znV{S2$i^(7j}J%=b?bl3HVS2Gms>w%f(ZbfZhf~2VppBN5w^_)!vJEryuk#+0V2Y% z!~~g@aO-mn(5*-DHi6J@&61zFVVf?`l7F~GI_AZS5u%=Vd_DwdW@Bpv$H!LFmcxil zg#dJ6z8n}KZi5C3B1Cg!IvgSTp!r%wiaHraKMZOBqgBi=BCn9Sk)mz(a@I8Fe`PTs z3!fR`;Oc6|Ygf2=xp$*+Y${*`VI0OQGrXxr`c{=+XfwFQ`K17r`%{A}fQT%8r(*S+ z!GzOW*wVn}5To&Z4q(!(@_v&KM~TY+qULj>L~8O;Rf-D?JoxTKSt&Th@^zGG{@4{B z5xUco%>#j1mFx+sEJ^|;04hA1$F!!TOlCqq)dj`HI7O&WFGq!PQP#83A_aQSjTZbl znGMlm1l}mTT@!5)4jQG2W(lj90|yrzS}ALRAK})?-I_>9n0u4Ns~Q@0wZyHG@(H6( zC^`I@pN$dmqV$Ly7bB`aI$9Y99H5!U{1KvqiKrni96`BWfptrEGXucUFXEIOrsouP z1r@;9%ZeTZTzdr|D;_T#kx>;y)2?&pBA4DoKg)M*2^VE^bkW_k?Zxs)tQhAvkJx%RCHKUOW^zfKc+z7`Bt85rAG_;j zZ>&Vr^AvDau{$SymBnF*I3!Kfv`$cZ)G2GYhVQ0{)Z6@@D4?MjKX#p7VEtp3ar*_` zuLLz0nSQ6ysq-c!w#(A7r&`T}NqvF5&m+14TI>;(LjQVc1V9 zC1AsVn?}7q#a4k&Fa4=f*dW5VUsgqznN8pfs@z3fWs_<;1AgNQo7uxFo)Tv_$_-x8 z#C_P%{N315mtT3{&*Cs(I9~HgNf)*0a8ZYJv7WLI?NjPENO63;hF%T>I0yq(1!F>j zF?#lOn6dj=?n)+i(_4O~!dZ1L`sU)B|K;!M!61>CW@PHT&f zHx#`osa&rK$hfztS7R{*Ut5)1n~3VQZ%Sq=wX7>0kQJNab6hr#N7$TSiWImirm&r;N!6p=btKpTUw?_ue)FAoqJPLq~2KghHIrLol{u`aSQ{bua-w4g-rC>VG zbwvbVtZH4K%feK*8Gj}Sy_f4gOV!=#tBhG|V2bQ_h=rE1v(m2(dpL-T!yh| zGOnX3!&o$`n%U)S?e#Se_cOAxm0>KQ%bL!jDZ^MamUhaNV^lReu&-QKdlVjI*#8w~ z`@7u3>gpHxZY_oN9EHu)*9KyH>1&rTaWlPy?|$N3g-z9$l*1lc%(RvC%Y66Ku2k4m zeW!tyLpzA~F&L_M6yq?+S9Vl`{ELnvy+YX_S1*HxVVqGXHIluZL=pyc%TA&W@;uQ= zOp7zdhowOHLqqkPqNvVdnJ|ZI1vsYrg)xeE-02_1u|VfIj8S~K3>^pb5{!8s#dW)i zC!G*c-X)si_QhSIUG|ctTqmmqdFOv^AV#-pxm|T%YfHt_$o_IzOM55FVJ%HxD2Fwh zC0ie_inADB-|~ypbe$4pH?Hqk*LS`$jK6yRer4%5JNi0Q8OF+%a2-vhV9ZU-)_dyTih$+;Y0PfS8T)gOP9)|`vpD_x>U}%UknxJ zmKM1m5XqEnb;Px60tcbh5x1AaS{-qJIjq$YPnN@4_TfS~tYu5a7n!Bi%Hb8(ECyj> zwp(b0eOvj7mGl$J35K)xps0yMcNZQMce=J0FoVN^xMUOOpNYQ05o=ZY-lBsKi3{T1 z5>-r+zCW-Swat~gmf2a2mBX--=PHcVI85`Afhnr>D89i^;T$(hR(-O0UA#!d z2Sw$b{lsuq`L=#yO*c!^B`TLSGIQ2()vM?QeD@o{olK*9_0@q`@GPs6+|ge=MnB3% z1H@$9HV+U}aO*ixq&K#zxwTwo-p$*iFjh6$DxEMe@|}U=1y`v84#GHuTBY&@$F&6ejxEqq=5m*+$lvh%5I`SkM$ zf2@{Eo)<6EC7Cf)<{a zKXYtY0I=U~*N<kk*<;?yRoZ4fE4_i!;loZciq8ZH`v-EYG!cJ=xFikHRx zbWNUqS!9UIn~I`e5$g!6>d#&k84ag!*EAM?9(+-zSBe+k0&3&Jaj#GgSm&vp8^J*~ zgECK6dQIriZlBjgCXs8)&@i?(VVA-ARYH(XNYCl7;MwiQBrBX#z{Ug3(E&k95Q6JwJ&m94O ztw7#BQfvZrZ6w^byrOZV1d0E19UdMdTJ_E~lvhQa;?@xatO4;&jaD%f>M7G_kN*vI z#>vrRvErI4-ySQfLCT$DMOC~~b8f82prf+lIFSwY%^WA*gfbhA7sCN98!tMxD$`<) z^#z}QuSMB#f*6L+O&pyBv#@c3NHCt`w<>$zXR^8|zDt%>4E zBRN4Z2t{Unv`{z>qK-;-k}p>L}~`TH_qxuO$pcjbx)E5FCFkF5GOTT2`4w0>?g zw|T0bx5a4Pow*ozkyWQ4E_WYiRJ882&15g*eO`Rf$X%D7dPJ@c@npHeg_54{KX*lA(_ ziHl>6?{DV%M6ZZ^mdiBlh6%dr!>b1ui`>&iR2gl(8RDKB&@P%G9;H)7j+uz+i4$Ao z-BPqqI>9Wn>ey`hCWN}tA$XT5OhkicDo&U!^2C`<5+)=;Hku>iQ&w|6Y#WtLhierkMEkC&-yG<{J%@)TCMq}H#b_{B zEOQkbMHL;ND@w?<+koVE^U$8lq-#F3yiC@f4~60{OW>BU>;P8-!C>7z)I(hm4CKYm zGMPOe+lH&;>iME>r7{}49%vhaxfU)9V&n$p)%h@4OJwVOQLj$!KCYKes5N-MX=mHTJ|LaaL!s|W=fZOm^qJ4kFl`?h zE;lVekpK8z*>;h5A^Y+Umf3QUUHU?y8z|F%u|kM?F3V&&U6|oqCS6(9mGrN&;!Vy` z%{#fH&?7xI=n*sTtp(yOe`DITH;Yabhyw!C=ElY1L2*_&>HIcdk0oN9DE+kPz!K5T zE>?XimoCFdJ0Mon0l|)OWgqET=Ba6RsC1j8*+`Hm5-}4t;ewOaNE29Dc{c zELq<7zIY+FyvM|c|NI`;`S;=7yeE?i#dH5aRtXoblO5KJ4DCI|*zzF%-Y;KX4~fsnx7Neu_p7kYhp3Go z+Wa9rSryW*lw4l#fu5?2`bcEDerIjz4q0i9s3%|kNJP2LDlhG(`fKL;)6CL(xTq-m zZx9v2jw4cDx`+>d};1v9vGJ7l9Y`^UOBiQek<9-yk$5;d_KoEl8e!1^Q z(Z5$|70q@xz{9{?8w!Jh(-4M_hMaDxDNZxHK$wk; z1;2xIc-nsWE5NM&lFXu4FNuppb>xdzM9b_tw`#U~fS-*YcLod2$8%y3Tq^)xgJ&L$ z7CpnB0JsRxErMXKltsT8&uHCjKjLE`*sxgyTZ7hE}G2+eE%oM$ndwtw~i?i3p zEhXOG0k{6fZE3vy_UxRyG&N*jMz#?AEO;}Xx!xB1H=geffG^^idzY2YBa`PN3l0Yy z$d3m~Aj|^;a6f+r9yx&oQ9*DQz^osufPsJm1sDRjT0r^>fR(^SJ1W|{hxEJffTl+J zYoK9w#e(0(GnZ?@?*+k2gWzRB@Nz#aUrn{&R>9)4vJAg7)!wL)h39&)Vl6lUaGLE<7Ly;GS*KA47VeygvlN)#0u18p5Kl1vs$0M}y#Ez#RhU_W|w_03SEf zWqf6ORbC8Lwl~J@nacLtaa&p0z72mC?Zq^Em-qs7M*gpb$7Zvh;mfDlt5*%}WAw`~ z+}kJof4_ubN3b0eJCyRetEPcNbUs zNPLCuFTOj{?QN*J?2vBnUblH)O*vefp)4LFuqOi_>-+Tc1MzI7X|Oo#LpPTnr`sEg zANtA*;7~KJpHX%-+|!Z#T;IWu5A+NiJiznh-~j_)^4teJ*R`7LpJA^Z_7Xrg)03sl zuy?4i3?O%~&A78&KGjE-WY`;#LuOR5Hx6swU$Z3x-K(fi6?=8+Idp)rY}y6O$Tlqy z=E5!bIMN#gz*|r+F2+hPv0%Bcsy#F2Z?I((=NM=RS68N0v)4{)0+7vV8{F9xx5u5U zQdjn`W^d`Wa=ipJ52kszvsHcvcc&uTR1GuH9)MK=vb|+nwx{S?HG6i5xBpX`tp;H3 aKYX`fUjMO%`pfxsV2?g3+EvFM<@jHhdWJ#( delta 36943 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 Date: Sat, 12 Mar 2022 00:16:08 +0800 Subject: [PATCH 3/4] style: fix format --- near-contract-standards/src/fungible_token/core_impl.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/near-contract-standards/src/fungible_token/core_impl.rs b/near-contract-standards/src/fungible_token/core_impl.rs index addf2c0ac..e241da9ca 100644 --- a/near-contract-standards/src/fungible_token/core_impl.rs +++ b/near-contract-standards/src/fungible_token/core_impl.rs @@ -1,5 +1,5 @@ use crate::fungible_token::core::FungibleTokenCore; -use crate::fungible_token::events::{FtTransfer, FtBurn}; +use crate::fungible_token::events::{FtBurn, FtTransfer}; use crate::fungible_token::resolver::FungibleTokenResolver; use near_sdk::borsh::{self, BorshDeserialize, BorshSerialize}; use near_sdk::collections::LookupMap; @@ -255,8 +255,9 @@ impl FungibleToken { FtBurn { owner_id: &receiver_id, amount: &U128(refund_amount), - memo: Some("refund") - }.emit(); + memo: Some("refund"), + } + .emit(); return (amount, refund_amount); } } From 04d1c597f35603c2930bd0f06ce13817fa942c00 Mon Sep 17 00:00:00 2001 From: think-in-universe <46699230+think-in-universe@users.noreply.github.com> Date: Sat, 12 Mar 2022 00:45:07 +0800 Subject: [PATCH 4/4] style: fix format --- near-contract-standards/src/fungible_token/core_impl.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/near-contract-standards/src/fungible_token/core_impl.rs b/near-contract-standards/src/fungible_token/core_impl.rs index e241da9ca..c7385924b 100644 --- a/near-contract-standards/src/fungible_token/core_impl.rs +++ b/near-contract-standards/src/fungible_token/core_impl.rs @@ -242,7 +242,7 @@ impl FungibleToken { self.accounts.insert(sender_id, &(sender_balance + refund_amount)); FtTransfer { old_owner_id: &receiver_id, - new_owner_id: &sender_id, + new_owner_id: sender_id, amount: &U128(refund_amount), memo: Some("refund"), }