From 17274e72da3491156233ef0b2c1dea65387595d5 Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Tue, 14 Mar 2023 08:45:56 -0700 Subject: [PATCH] feat: expose limited apis on the gateway --- api/api_gateway.go | 2 ++ api/proxy_gen.go | 26 ++++++++++++++++++++++++++ build/openrpc/full.json.gz | Bin 33805 -> 33808 bytes build/openrpc/gateway.json.gz | Bin 9078 -> 9288 bytes build/openrpc/miner.json.gz | Bin 15865 -> 15860 bytes build/openrpc/worker.json.gz | Bin 5223 -> 5226 bytes gateway/proxy_eth.go | 24 ++++++++++++++++++++++-- node/impl/full/eth.go | 2 ++ 8 files changed, 52 insertions(+), 2 deletions(-) diff --git a/api/api_gateway.go b/api/api_gateway.go index cac28d2a0..4389fc34b 100644 --- a/api/api_gateway.go +++ b/api/api_gateway.go @@ -85,10 +85,12 @@ type Gateway interface { EthGetBlockByHash(ctx context.Context, blkHash ethtypes.EthHash, fullTxInfo bool) (ethtypes.EthBlock, error) EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxInfo bool) (ethtypes.EthBlock, error) EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error) + EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error) EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error) EthGetMessageCidByTransactionHash(ctx context.Context, txHash *ethtypes.EthHash) (*cid.Cid, error) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthAddress, blkOpt string) (ethtypes.EthUint64, error) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*EthTxReceipt, error) + EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*EthTxReceipt, error) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkOpt string) (ethtypes.EthBytes, error) EthGetStorageAt(ctx context.Context, address ethtypes.EthAddress, position ethtypes.EthBytes, blkParam string) (ethtypes.EthBytes, error) EthGetBalance(ctx context.Context, address ethtypes.EthAddress, blkParam string) (ethtypes.EthBigInt, error) diff --git a/api/proxy_gen.go b/api/proxy_gen.go index dbae138a9..843471381 100644 --- a/api/proxy_gen.go +++ b/api/proxy_gen.go @@ -698,12 +698,16 @@ type GatewayMethods struct { EthGetTransactionByHash func(p0 context.Context, p1 *ethtypes.EthHash) (*ethtypes.EthTx, error) `` + EthGetTransactionByHashLimited func(p0 context.Context, p1 *ethtypes.EthHash, p2 abi.ChainEpoch) (*ethtypes.EthTx, error) `` + EthGetTransactionCount func(p0 context.Context, p1 ethtypes.EthAddress, p2 string) (ethtypes.EthUint64, error) `` EthGetTransactionHashByCid func(p0 context.Context, p1 cid.Cid) (*ethtypes.EthHash, error) `` EthGetTransactionReceipt func(p0 context.Context, p1 ethtypes.EthHash) (*EthTxReceipt, error) `` + EthGetTransactionReceiptLimited func(p0 context.Context, p1 ethtypes.EthHash, p2 abi.ChainEpoch) (*EthTxReceipt, error) `` + EthMaxPriorityFeePerGas func(p0 context.Context) (ethtypes.EthBigInt, error) `` EthNewBlockFilter func(p0 context.Context) (ethtypes.EthFilterID, error) `` @@ -4456,6 +4460,17 @@ func (s *GatewayStub) EthGetTransactionByHash(p0 context.Context, p1 *ethtypes.E return nil, ErrNotSupported } +func (s *GatewayStruct) EthGetTransactionByHashLimited(p0 context.Context, p1 *ethtypes.EthHash, p2 abi.ChainEpoch) (*ethtypes.EthTx, error) { + if s.Internal.EthGetTransactionByHashLimited == nil { + return nil, ErrNotSupported + } + return s.Internal.EthGetTransactionByHashLimited(p0, p1, p2) +} + +func (s *GatewayStub) EthGetTransactionByHashLimited(p0 context.Context, p1 *ethtypes.EthHash, p2 abi.ChainEpoch) (*ethtypes.EthTx, error) { + return nil, ErrNotSupported +} + func (s *GatewayStruct) EthGetTransactionCount(p0 context.Context, p1 ethtypes.EthAddress, p2 string) (ethtypes.EthUint64, error) { if s.Internal.EthGetTransactionCount == nil { return *new(ethtypes.EthUint64), ErrNotSupported @@ -4489,6 +4504,17 @@ func (s *GatewayStub) EthGetTransactionReceipt(p0 context.Context, p1 ethtypes.E return nil, ErrNotSupported } +func (s *GatewayStruct) EthGetTransactionReceiptLimited(p0 context.Context, p1 ethtypes.EthHash, p2 abi.ChainEpoch) (*EthTxReceipt, error) { + if s.Internal.EthGetTransactionReceiptLimited == nil { + return nil, ErrNotSupported + } + return s.Internal.EthGetTransactionReceiptLimited(p0, p1, p2) +} + +func (s *GatewayStub) EthGetTransactionReceiptLimited(p0 context.Context, p1 ethtypes.EthHash, p2 abi.ChainEpoch) (*EthTxReceipt, error) { + return nil, ErrNotSupported +} + func (s *GatewayStruct) EthMaxPriorityFeePerGas(p0 context.Context) (ethtypes.EthBigInt, error) { if s.Internal.EthMaxPriorityFeePerGas == nil { return *new(ethtypes.EthBigInt), ErrNotSupported diff --git a/build/openrpc/full.json.gz b/build/openrpc/full.json.gz index d15fd5b6deee8f0610a4432f583e1c10407d87a5..79f32fe149fc6432b9b8028d9838927d4134de8e 100644 GIT binary patch delta 28530 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 ksz058kBoB#j- delta 28618 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 UU;p|40RRC1|LGGrNfgQk08)Xyr~m)} diff --git a/build/openrpc/gateway.json.gz b/build/openrpc/gateway.json.gz index 06583cf0624ca65bb3fc9d67ddd6a3cd34bc7e71..a04b9b814ed21102108bd800089bbde7275bd04e 100644 GIT binary patch literal 9288 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 literal 9078 zcmV-+BZ=G}iwFP!00000|LnbcbDKE#IQ~``e*d%`H}x$};+g)@T$<+DCYw#t?dN&g z&TnOqZ8aEJ5Q*JR-urhz0>oXy*dd9wGus-ZqYLM*bB=zimJLnE*3_}u+v)F&)Q*bG zsils8s~BMes$=!Dg*{ifx;#=oT%M^N^$t2NvP{yWx6^&A!#nk%qb?wxTe_=`zx`HC zu<*NnLWbPcz0Wwb^J~S-t_8ht{m_b+Vs5*2t2icgw`{$p3X4ZFe>Y1AI%2nQ+ z0u1lL>KZ$qhF>eWKwjBhMYBu{mw4xh{M}LPo}wXr=LqSql~->P?K=u|9LssF{Qho! z$7rg!J7*?_jtPwXSt{?}D<(2X`|sF+*mF$(Nk=(xoC^zId$w&k80vn52mgPxO%>!< zcGsWk>+j~nck`cr{!u%s>n#?*S*c_7W)2;w00%0jg_RY=3NTlSW-S)b#I7>690kvj ztB_saQ9G&)9IzmJmdi~>KHp7^f$|Ppg(P0 z9Z!MbLcgB_UC+S&M$>Qfrkr9juM0j~VvUD}8};yi{~Z$au-{Q{EOo3-yS@HksCLwk zje1P;KlS7nnM`aQ&hDH68fumc@9}))&UTl#OZ(rc z*}tD^zebC@{(NEG;`@odyamglt3LQ!dkr=FHnDE{!yn`YY(Yo8Ml%x--tb$!2{5$Z zQI7!zd80ox{soSZ-XM|r5P_}->Z#?m@REhe?KIVOmw6WA9=>11i;fY#O>ee0_rH> zL=$8JXLVv~mhN*#9}!$Q8v3nicgiy#2qB8DgwmvNw~zr;FY6(vJAD8g2do0h2~eFu zv!^K?%W{z8e$$(kwR8 zXg0^{xLc{*Ju8eq7?opuCWqp?e7&XySFxDw0sDMew&D0@61LJYNXEG2wj- z^>rPAoLPgE%Tg|v%H;^(GTY0(sg}mXSjft~dMoU_FpvMkj~|`T=k`s=*FiU3%>7r- zQ@7?&WgZhoP%+3&ye3aucJ=moWY-ncAhPkAvMYqbBfF9cH|@zU$-<#ZC0XtmYsfWb zeNwJTxmF?9a^`oaXyi$nd6y;iML$) zc*8PW@0m)&2jvZnA!OKATXae&)6T9@eBy`dK?1+y@{j) zA5L?65uKGxGCQ*6##g;59+-LhL4x^6^^`wWCS3O$M_2 z!H3DkSn6Y7ZQg(38Cl*>A2Jd-vJnj9Y2$ytR~GYo1%Y0d0BB#H7^%q$SD#)}c%`S; zJ|OX9>v*PZBMYe-woEl7D3)`!OCMJ=u58Rw-TAeZqx1_RF^`d}S$8>@S;0-he)*ar zun|#%{+g|T&zkk!+ANTv?VgGG+H12kj#k78OGBvtO2$=j<9FAnQyWG_#5Ngwd1AQ>nCxdB!7Y@1yn${l;r~P4fGU<*+!|tG`CWD3I zf7NlVXZ+|tI_d%}&j`?dx1%nQ$^1$O13jmG)KRe| z+G7S>(uMr{(m`5~k+|&o+Gd!a82r*nX}|8WyQc~!{p+;aQ9%K-d?8qwfRU~cHl?Kn znjNKD@WwL;c9SP}B;IP#9D8g%?h^0nlm@767?i~ZP>Y|-bC8GvZ_=xgVO*u;AGY9_ zaX@AXow6xS@;Rx7dj%m(KC7JrWS$A1uEjkYQVA)vjjDt3jHN30B2>Zsf-BdA z!L;vzqx%}Ppu|iK!&?VED=xAUikT(@woPw0$9rOyySNmTb z;zM8nvmTm9op}t~=-|EZ(1VK>qA@p14eZj|egqkq_lMa zJ^3f=9-&7EF8T%IIWu1~OjPnH);7aB*Y&lCc_-M<%i|YezR;#mL}o&_V$4M9q7qKH zxs!+@0TnNfp|nl!BV~h+dF~Ps@ndee8Qy2IsVVHUGuY3W0OgN77|P1m$K14}lzGgV zu=>HH&La>9Jl~K}B_4CajF{z_bw;{#bxMfEN?&^JpFuZH$RHQ)^c_xUXsu_QTP{PHU9*JmGZS+ZO-GeC2d}-!OGhdqd(#)4;zBKct znJ>+JY355aUz+*S%ztzYwY`%?AbD679uh zx%IUchwytg6C=)17>ACx$=W#alG=D?A!EazW^A}DcCu}Lw_jZBGhqasAhUh+`VlII$! z>bskg$4CTtW4^oR=8!rlu2~Zi>t}1W7Vq-=Z<}%XV>ZsU=t3mRk}ONItjA(m!)|f8 zlT(Q6GpjN-m4gD;Hq_SRR1Nc}mU5?ptrIA#6;|}<54yd6zpDns6quyK1}C;`q|qy) z1mjVnF}H9`Rvmbd{vBL6^!TUh%;$<~lu!#dIDsvDN4`wn?zZJLvMJ6g#nCeoN4=8z zFA$$Y*99|pg!ID|rJQpld$86qQ#6$gpEa>d4iB9C$+wBC z%0nlfL#O9)niH>ZAdl7Lv08@z4@#>vF&g4J;gK0ILK-yt>}FZb>NBG?s6OYdL@Lcs zUujO_SoxL)?|FP`8oh)gN^gr&$NXPSCQ~wAsRjYkK*OBOwKG$P%jm^+O7bVG?o(d} znE*0v562mQZ1MgDSY{LQ7GQblAj?5`m3;{`4Z7}Ub-Y zWQ7J-Hdye0r{$gamTdPDx0dSt!_qn^=`i`V)&2lVBVon7xd!RMH=SOPvsf8${8W8E zt@Dh?B#Mo2!QIj{(bW0a;VSP~MU)dpkczk=J*G)}K1cy;0j?Jfv>EpYyN|6}67dw-Ej^h9ghlZ2j%rtM| z833a@c$z9?mo97vr&FlWhRM5Ua|-PFj{>9t^`@mK%H@Uep-oY=FMsZ0f-3wR&o z7Lt6p8sv}!P)!J7qJ0G^B*AhLK~xAqkPI?wXd3}A)d^$?gJyTq1 zC01nQ*Q3&H5oolkwz=13p8iHu@OHWdWS)K#(JxY*Jv(vMD=sc`0q-xNsUvg79G9*m z;EJF%seBfVv3WsPvO1}jN;=*!9ruf?a$GtVwlvG20Z%n(HwB@ZUb%vUQ&2Y=7@S=} z+h|fomTrVD2E}z1uA!-4fqRBw*C3575T1}IQq>?yGaP}X*}*u8CJ4b2B$?cmwatio z7CGrvtRXj0Q$~k9MRqhSPV>L^CP6H7o%;f!zD3OEr)!yxt?gWa`^$i?Qp|?}2u7?_ zv!l^CxlaQEGsEjzl(FjO}D+-ZthVjrBU5jot^JoZ)sZiEk?h7!_yVeKFlN z)DosQ59O!y1Wx*Q%e9euwC}c9>5u|fQh$Tgzh96#b_(1R7o!EhkQS@05qFgfr0|HF zpfzn6lpc6Pe_TUTzqX+k)So2HZjgNq@gH#YT6vZ3SLU;u1 z_~oSo7sy-C2j{_()p4(*QUhzO{?|0R|GPe%YvzCE@UQpp)sA{}cI;0znQl9o*gBlu zIRiA*EEnG6`O2N`E^n9izf-e+Kh=JX7I*#m!n(!x6McCLmP1#45IlYVNYf0&k`tJ9 z*XT<3k0+dz-B8hy!oBAi=Yqf9PWT;vs|%>30L3QA1kUQj)GQsDv*07Ta5Q8Nw&U~o z8%um8f7hur(}|INgWNIsXg)h~`LzLkXi+ zIIGRYQ1nKu4&nc5CPt#Pl50vbab8f+NST06hW*(Cca9x%IJn)L4Ls9<`mep|(j3ly z?hXd}z#0zlzh>X=BYU}=J9par4yx66B{UXTl94}BJW25+#Z$Y)Q%h}@gMw_4bKA0v zQ;5m;7PM6oor`P~8g02lvuj@~ue{1whXmk!TcaytX{0CGHU~v&kNCV2lre8j{CN5C z7T#uKEQbAO7GN>z7UZY|NP6jsmnx4sR=5eS(aeN8)el}PuQ)FFi9nYeT!v-8gb9*P zxoyOlw_Ci11Z_Qj5sFnu_4f#no&K%f1Vq~JsK=x%M`rYg$JFbXPb0NKsSVcD2AS>& z+!sKpV_H6;-u8$lJFi^^I8PHOx~NN5FO>ImWz?NsLHgghi)N<~f4Bq4022cq0t3{s zLGr$UC1~Z6eLtq-u*Xp{R!6-ZKU%WlC2;NN>I@!)7YSTAFZ>kF;G&*JqH;l zLo%c_)B=eyEJ!tGm?1J}*V-KFo>A8`l!CIJb>zdO06E14GjxgEVBppj8_6|F`$)=; z?Xf`yeKY%*e8+Q&dS)VwfDt-`i4k;-frC$MOPj0XUbolnb<{7WVQII=o&(5G!DGQ= z!Sq<7#sE7l9(yG{=NA`=G}QPRi_=d1q-?!Dp}JcK&FMB+0UKZzDgGSw}MKNXD5ycGi)U z;SHr&GCV%Z>XI+H5(3=W5y{$ZWIKI$FDAL*+?`!%!N)mSB79`&P#t$W>Qx{j^Cu8p znRw7qPwsrNcSWxQYhwEeBRsNPoJuHY=G!t?tEwIK5V-Iogok9U{*yoNphN3rAj@Q4 zoFfxDm(T`4Bcflq z5%i7?A5(m#Hw!U#XQx1jq(un0#G{Gi+&+;-W`Rkt`&aK~QL^PZ^U`K~D|0#9VcvFJ zDjv@zj+7QQuGMZa{3}6*JmYOYUMyJygt7>MZxC}6p7n+7rsjSoI8x2Ds)*~v1Xz4s zOVXkVMYF*6B*bhDBPzVFSQN!0-JvukDzm{!Q7=4fq!ozv%+ozYVT4MEXg@|@X@rKh z!o;L${#;G-Br;L!PLPUgG4g~xBQ~Iz5D>a}el3a7T$*Z2ec5~6g1Re#TlW|S-~A5h z&^fXU17PR?5Ye2?j1q{Jiz75WJ za%)Gg#WTv5Ws@S0U*s`NC9{vocN_w)SelV3Ju8{gFDUL3aLQANKWNwzz6B@IdA%S- z8l4hAs+1Sukj=>oW)W?S-FaH_L2@+VQqlS3mwL&gw1>{4W=^_4LC|1K1QX$qOc@H% zdaQo;y4`^W7dBo6|AeA8M+8dL?x>wuly=wgIr_q#73;6yiUEJcnP*-R zWp7we5rt5cW!-vq&h?;N%!PK|ZVFF0>LwF-n3YMDS*px3edoz>z1@PU9szlu1Lqdv znzdfD5Z0{b!Gfyfeu>s)wLI8%;tVjoKFI|o7u;eck5c+fzvXcqoVc1}-BXkNv!&hA z5O+ZfJOm?ZM~5T6?6bd7LD3C{<6L9Q0ka@dVhz5`Kq(72@!y{v7ddSSD8CISQ)WhO z&Uu@+pjI;DXg@c0Xtq1tP;7`~%>q8%m@INGzGUC=uw{RymJ1C3MG#z+o4i%mCmV+= zjeFfeKZvwMQv~&3hIH9S27)GLGikyQE%w=GFo6bHN=^-^6H`w zQy7_-pTH3kjR1~j$%t!>8LH&!#ZV?s`xM!3^X{FtYLj~fHM5A?giPq1nNzEt78&+l z)3Oi2R4b5S%QA~TY*WLUXV%k7VJ8E!0myg(m;dWn{&frc*V5Snm`G(}xl;pHq_c?w^Zi^x4zGkR!42aKY z2%0wNZf4gZO$BKxY}2z`OoGXGoC$tmhw*Rq3fv#AFr>c&jq@)L7znRE=s)A9VV#E> z{XPNr9GUb{pofa7p^5%^A~v}o0mzvN3zy7DY{L4|Ho3)5cO}nEKJItRD&7+GbF4dL z&W<6_4P@4goXG*Srpydr?C?9Qa#YIEEy~fD9I|pW@s2C!#&aBK;sV#y*@Q!*XH#YYq$pnzQ&x;72&}ur-}V&%OqxQ7}kIM%2ai zl^RVxg^>oyP7!=!VimmnY+1Jxpxq`XaSSyB5EC>pA3;gZERoAALiUHNY2sV(^hj(j zcZZyf;OR>-fTty zq9=5ZYTomd1A;%(57;R2ohSfa-(VPfi7uM!FdXl-;kVq5(t5wEa z9+QN1gmlI6hj)X|3=|g{)3>C}1er5J6($ZfAE+xRg0`caVPEr{TFwIM%4DSgB{H{w z65Ljxytd`3vX1!K`sVhJU;-BWgo$n+y+Gaj~ z1Em48#R`+`V1osPd)+3gEoN&QZl|Jf{z-YrFLMscnO9urf|)Ailp_ zR;q|ZSe`;$JFO=HL9{$H=}g2;!HooO7RZDSZTY7eNH?yigv7*})NGUMZS4gEPs+)W zMuv^4E(aSa5-rUL0Y$5TptEXMaYG&@EP+nG5_C;&3bCd%AqW^yZ!|TYlxkqADtyo| zx=Uu?>Bx>>#q;>BRtt1=Fv`~PsAj&a4-;#%NSD$F6_4x z&aTgX(z+m0U%v(zq5P2)f{NcGm%+ZeAQ;rxKZ(zD4XVKJ4!+9y0N0*xb249lAMQ7q6wwXa4f|x*f;YS;kHfd}F@fVH1^3<)OPg zbeD(j^3Yu#y30fNVs-JLpe#Y1|w1_J`e$dT3bM?J+dKN*xdTqQ_VaKpuK$2ji@C8v!pM z{^vn>2fc!N8()E8)V`f2(V5dR^;&sF{1k_1c4p!-(oBFaAy5{c5Q(Pe-?luz*14bZ zI19V`1um)RrSzYq>9Svti~bc(2IO?8rfAFn$QP1?-<48f8c;qZepkP%LbR7NzcvU; oDge^E9X;ki;e=FtX6fYzgTDIk@Z;hC1pom5|C>b88bad%0Arbba{vGU diff --git a/build/openrpc/miner.json.gz b/build/openrpc/miner.json.gz index 1a4946ee049ec852b606f727107f93a941c79635..58475e05dbdaa3f2045561c96b2928df2d9c9756 100644 GIT binary patch delta 12113 zcmV-XFRsw}d-Qv-5CVVk*m!*Gl~e5rC3C!JO}i3IJ_RS5sM4=&T|&i)c8zH`#Ct20 zTt3I?x7Aeq&A4#U30J4xCludb21!UQsu`}Pz;`(iz_vA4{Bk3BfE(eL*J zx$mKE&!Bl5@Pq&EPwL*LUp`i`n-hEVEsg#+12eP|ZxnboVA+4i@BwsPxZ%I^M%Nwi z+^P8%w3|_CBS>N`(-W1~G`q~5;hQCdjzB-YFzGp<|AjB>s)RqUNGAf{`OPd%zih zw5A5H;0*6a-&G3JsA-u!kbqfVlqSZ(@op_k!%24ryRZFoO_;=#X2+0zT`+{eR3+=x z47nLFzlp~HdjNleut{v#qw#2RbTB#`O%K0BgY#Q{-^@9kmN4g^m@O?A-oJ%5BxVZ^ zO#v!o(;42srniW^SZdmjSjSJdhY>7!M*6A}j2L z&)rXe69NPud8;M#mitN3_sw|C*Bj0^!`WA8A~?GDtmSkwf}<&$jl5g5a{fyn{&vPf)p-hloq6OyoA?t!(u?v^dc@H>4@cE0!sEg;&ME>sM63u@CuU63c9PLQt zrs9iSj56_?z^6pwmVmD%h128b6;+e_XnhYQGhvTh?@#M;?adGhx zj5wfaChF;@cCc6S^=mYo0^JyDzojQ$nui52Bf#_>RTl zXwWYehk?!1e^?j_07atk^OxBg+YA%2Dfaf?JupNpWJ%2@g`P7M5|bNnmylR=MMNxx zGZK$amJpM74mFoO;Eeerg4jKEZ}%E>ANGv6^M_gUYObWW_y7E-kyx=N20%vLw;$ptcZiX&+M)$B=npzDVa9m_ zNQu_%4WjX0I?v!K6w#HUP{C=Clz`C(Tmp)}-fkFwYy2Ov`~SXryEMtamgs-}`A?&{ zsEPHWC?aa&XnZqP$if2i879!(ydx&HxOCvM(?ip7EIOoY2iTNFcGLN(R>S}lSrq)D%BFK&XYl zOg^K;Laqq1@I;&hMi$`H5BMbRgX<-_Az>(lAPf(%C1m0gu`GKs+5&sPT@!-ILWEWD z_c!GH_v=qr|9Si7fL{TF5X=K0uZ^wE+s3zkG_L07N?^gVt`TL(G>y? zWXqm7Tjzb<5Z)Po7DMuWi3l*EZSx)z!^EDz023KI0zLU{XR#PH4v74=;11erWHdd; z&(q1jt!+EUmJ$zRwpVC3+4gtN+~ZL`bDzS6$Eb@woHSzX==1!^kOiY;g;oVAWx=Z3qP4@7a>r1vonm+e@%5O@sk@TQ z17~#20JQBuF5VJ)PdKv+84+2l;CEtg0K9|P7F$S4#NIaAiE@5kLH8ChFVaGt8@ajh zJ^5{(*udq&$~ZP65%wmSD`RKOU5TSoG~^4jb$<^FQjJ13q4aj`h)AoJ;w1*C$jS|p zewquLSSL>*ZjxiFHi;AX6^k8TjoL~^|=UjQgJYYC@Cv(22K zXd(`$U_(IGY6rxd2X-5zTY$bM+@~Sj!=jiBz7A(AzLtLNkA`F#!KgSa^=rvg zdFPTaTl?iQC_YJ=pFXU7&PsmeC2zEE^Xa9~QBm*)XU}u&HA`R)zb=Xc`}v~?XX5QD z^&*E;8i^4DRxbu4hUHeYUIMk8BlzThTeXS-E_J8}?R4>?Zt9~%6|?;EOo5FcQ1prW z#Kwp)<2Wd_FY^BGxJ40vb`EFAmSeeM&`l+wz9UxhfloyjE;i8xa{ZS^KL-7T+9GtC zVHP^GV8Osdj8#lcOAgTDN5pGm(c+=pvP$)nhMYg6;qZe6UONJseWT_D^R;SGMs}+gDBha>GNjC%wEZ)9-m7*VwQm6fsuMkv!>7XFg zLxv-sKw={M6f$`2LgLMH$WBGf6ag!eH5O!$`EB-t#%HG@INd?W-4}n4s7uS4#i<@b%&AumAotzdQ8H|1#&p^o{3!`qx|Y&xc>$zP}p&;=Q9Et{>cw z=XbyUFPk@xHZQ&GP5Ta>O!f`4wh{ON0bG->6U6~(lXVnpe;gKM%t#*bYfK_&H!i1{ z2dI;pnt6b`2~^4;tE+3i^w36KU32Fo(@{a9lH}2I>?LAi+JqTpU=`oM95wPi9@Q31 z271NKsF^NmmD?&F(U$6MDA&Bl0&5c+( z&2`)w3O~H0ly%IN-4alo&xhllaS885T`KuZ#O1uXgV=^M8@;D)X3Drc;DTo|=2Akq zelR8Fe_p(li}p;6XSb53q$MOX;5{vrkLv9D(xf{f4I^YzKv23t)$(f6fB=qs@rfaM4|i2 z=M@PfWXBVqegL<}u(a?M-^zDzaYYfZVy6fH?%Si9mqX>2iqOd+0XOt&WUw!*?UI8U z_CQ1hJs`XC09rY018nTE)}QYStHis ze~ip&HGjlGmT*Q2ZUgp6;l34bUkc02OlRM#gj&m0JJv3~?Ya24H1N&83*=&I39O49 z7KygT@w6ZQuVx6lzqSqIYQE3Cy539bz2wgCB~{|MQc^%^@^ggDH$&FVlNCMD9>Xh? zUFR2;0dg=YO(hQJsT;c`3$0#(_d+n;e`J2-KbRI=f+%PH5_y~nJF1+V z1MNvlC+GCr4PoXFNVRx!9$JtwzMJ#_qrjE#btPq8Nm*A?eiC7LP@0*2iI}_bby4H1 zD)K=!zpWx4URUBRgXPxmUDElM`YMU%6#|C^7kf&cxN2L(=c=fPk6?H{kKX=Uf4n#& zOc*<<2O|Jyc>iPxF%f&c9&pCu(FL?DWQBX(9&jdk&nqR#RY@73y7D6&YTP2?7<25l zDn;V6rl#-vMwMr(+4i!`AlXGMv-U@l;I?M-314RicHcO604X-u;wVPL4hAv#ZU>=N z$ob^psI+{?Rc94`t|}}12&Ix&f5%2e5mcA>X`m5O2yfk>)J1$=dJ!Kja?U4*{i3=Y zm|(Ja%U8dVoC!ZKC?6(mm}~4@Ay#^v9Rlj6SXdmd?NkVhk1Q)yQg2nn$qBYRW&dnl12 z)9XAqr}nih%>xP2V{I0iQZwSXdGJGQ9hya>6ckB$AsT2{kTe{MVevY$6f29A6XX_e=|c-E2Uj_=aHIGL})VGQsz_e-$y+o5Q{RF^Bj={TgqRx zwMnZe#X8A#0hTIl)x~~%V!BWg&GpqwQ!k@}itG-G};k%`}5|JWFXHitDm}K3EP6Toy5#t4_u#CESe_81xhvS0uk%*$@ zUoF{K{?!Q+%fGhB!Xd7jfi(l~JOfV)!l^H8WG#@if0{9G3_w2P!WrHV46IV#jX^5m z+c>y-teeC%pKY(v$^p>9oaO*S9>ZkOI;k;^a_+%)?4`<%!LQOV==b|QBdj@6(`b)M zJye><>KWKC&44{9e~1phL?*pM?t91=x(VCF0TlT}K7Wa5LoR`;8jM5lTm`03FLsF} zurMJ3GX&OL!ZQjiWZKY0z?E$<^1up`HMH%Gkoq1XmIqd{mWg*m7!?uUqEZupLPUr# za0@YrZ4c0S018>a6I131IUnRG^RG|NPI;^_;W%G8*NJ_}M7lK8e%g}Jmdv(A@?k-Y z`lVp>H7K`Nk3iayHt^vl_t{)KAcH_ zgK5uLVG{e5_7+BC-x>3*{l#KsalZ*>Q6-RA;eqatPwR!GH9n10J@M>d*0XWUc>+oG z$edcpIPMn~ysUfrEWjyUVOm(sP6x}i(4j{KDIQX7f1E-F^XxTs73xEH4h`ye-Hif` z#!;<5BV_-i?k(Rua0s345wu>_dR6OHtyi^P-CezU)Gx?;@wExPCpLvv3vYWKpjukC znNCgg*O6*XkKsvfv(;KuYtbq#s^z(s=e|526eJZ%5%wN2kq_KdjEnELFTF)K-3aXf zV=b$-f2`KBTFdHPlGVe4WIA7RVFGRZ6W&JM6`cXmJT2hj=_Om1bJ)Ly#($A6^gO=x7o@;ro<@qkj^Kn6*m=s|j5J4_v zz6kpjZQi?dC9WrEF4_xWZePk5cHND@FB_SbfBjnaYuT@5|1Qb?NkM9%lx8349rC4k z3uzyNvVHj;>#Q4zp2S|ua4o~N4A(Mzmt^=sL3XK>Ul%UDOS+Y_0!Lkz=Rm6^)1!wz zkUt>7whb>_O6Oklz|$POx)J~R1J(&0S{3Y!Dk$eEwe-I1wTr1#y{_`wbS$UVX$m^+ zIIuAFJ6|YgxuT6u8@AJF5{O{GE;ZV4TN-VsHJa9FJFU@T9Hn+u$=iFb!geJyUu!+B z^;ERpQIiH9DSxTfCDVStG|T)F*$8?_-j{>gWSgfTZU2NP)nQjkB|Qp#(xcVNPN)?v z)3r?ZW%{5r!?~;Miso4r1^f2j*R0L%q4Q*mq9hBwi_qf!*~NV^4=Ga1Z|MF?8g-pr zY4IDn4=u&#sZNp@RK4;fDdeBzMhLw})B0RNpASnj+#i5AyT+xp47iNGa8Wm#un16N4TiefibbHhQ)Y?rX?>>k*-q*+r1xZ6 zuf2S|Hh(Ft>5vfDZMS6+poV%)%A*r(waEWUBC-XgrZ;I?sqLszi}**8PP#tJ#%**?z=ktg~)3a}s+Usi{@+PN-xp!?g_eW%yxH zO^!8Tc!jRkGjHPw)@dZe(@^s7ewW{bjY{vVPJcrzxwtw7w%+yCIhYsRU!B1yewnlv zJ!VVD0CW*R1kP;UJ0^fFu?H~m7$hdzZ+(Y+YRH*I%f45sx$qGa&S}zo4*udYGpf1u z5xTdCdFg5l&*_2MQI0z*s2JeS?VA~On_U(k2cT*zm6$|vaBZ!j6l%qn!D}N(8$sO} zL4R7qpHBzc|AQ-Y zi7fe*Sf)F1-@fZ3HFxO>c(NsMu!C$&P-l0!hI6HM{-Y$6wxXS@#Y{cTt=aZ`Iv5nB z#l{Kq6vIUumJNXvvFnUd`zP=Ub2j4Y^ncr9nQfkin$NTZ+jR`_98}e~R$ySQR}QzY zC9sfJImK9O8@a$^kafqhPm@`n#~-mJ%3zgzr(g&bn=TTiW*&(hWwc>IuA(%Egvt8J zS-8+@=Elr|DPlG_!+xhy@|LQ|G|=`6G6&5vM#~^zLIP&|Keml5Knd_fo7lcrY=3tV za9nC4&jWN0W{7j+T0*b@qX3HS24JV^j`P{7dp;A{>E4cYr1vn4=;t`|$-InYFc z*ZBv%8-g%fBA0Uvy7#{T_t>_Dq;L_Z!XBWmbc1ox;lH)1c?;HrVH>Qdi*88JTOeiR zxAh!mRbnEu=v$K&gZ^;bR9q+?w);1qwAS|RPmB{RqUedaSkG+iEl+TVXMg_!g;V2r zG9C@(FFsc4L7Vp>uso4om~Q%u$mn>`=Ux7RTs+6f;#~)Gd17Nkm~m{(`-9Cux$$S`aE5F-VOI>g?43i+B?mj`4|>KsVkIB=0`S7cCb~eb|I+Bkpr26Nh77qJ z6Y)YKl6vgV+LdoEiy(%|{(m2P#;*uDQPhGUqk7)3V69X4j{)#{~(QexRU;XMJz4y=K?vXQ1RCK7alqyh5=&=(muW%S%*x4xIsBV!apl z(7={Yj;CyQ9!CzZR>;DTA$tQnL@aKY%J*O;11qE*ADG#2v2f9X(+ikW*KfLiLoWTJ zZNB3KcpiNWJ@OC6L4ViVx#w|o@pNU#ptPyN$#%f*!X_V%dIMpWzlYdHR`}+dF&K`F zW5a}eh|m<=23!O!z_%$PIK^9ZXE(}loJ?Fz!gXIqaY%5Pu$i23I*@T%yGVS$|8rT) zO-y6>lTgpli1ps>*=O>6Gf#59thj=~q##2uE(|UZv1I&4JAZNN!zmJ|k@h&+!13SsLNxSsQZPe83;OF?$U&sBK0W^7HD=hNY!FjCoo!B5}6elnzsn@~yN~qiQ=X^+AcLmTK9+Sj&!}%w9`l7I-uK-HVjr0Qyb93NdIw z2EiV1k%!znWW9#AO$EKQHp{AimNENY<<#cVN7Oj}Jn0R-^o%zF!r_xM^2tNtuiwxE z6TXdF$2u{nb&m`E?(2Rg@l^4kL{m_&j~8~RG#nNNPW!y@-bHOJQXfKbhLwxSqEd1B zP`Xi25lU4Nn?bjhOC2wAU`Rd}d!f!Es(c^6Qtm?Hs3T_Fg||3s+fI>x`bVYF%)hNy zm(fzUvE@>b@^$D6I-lhdewkr5$H=z!-(vQj|DmK%<6V>})Utk>Y1h=)Dp)FkX7;Qg zsb^!n=C#(QWh2k5Zbf4iJuCF*s5k5lgwws`!0<;_LF3Y3=8#}oY9Sv;xgwIDkSy~# zBQ^g>)K6!sD#E)u4mpE=g!CzT$%x`CXYGSOv2BAn#3D=qk`16D5;@ieETIQXYTMWn z{zeJK0~{b+p?z?L7?@L620?QgAXL;ip^wt%^WE;Jd3 zGxq@<1Gx9K2j1-cy9fGvM?LVL9@zVS)oi&Jr;%I{HhGmL-hC;5EA4W6GKn}Tjr5B6 z`-HAZ(=6m1ND8uXjR~8Me*&-CSSYf$5(}kMvm_i_xnDUSM@0cDq}N|2|KzV^D=zD1 z8(^V1T-ywY^_N*2fs+8(^d5O^58gp+!FHSGK zf0S9@7b-v{Id08=cRwC>nWa{3a_*cy*ird7Ee+lZi@UZBhD`#hj)x7~tB1rUyHJdZ z&GgeiJZ8pLCKXdy=7qB_PWJnZdevd7&noE- zN@LqX`fMMmng-QPuxc9WHse)uMxZ3qs-spT*;Wy_Dx{nV4qDYgtJREsShHX#i~@hu zFU_r&*O9b3N#g)ID?{&JkJ8aOnvYslB2(&47ID>@3^J6LvdF>jgEIy!ibUuQL+%O_ z$V9OTO7_ep#H0uAm)Kka6OtP;L%^cM5A>1!Tn8WRixb8>OcnqV3lJIsIM9yRGKpp-TgDM6yp#zO@NVU>4WNH6_!DAw zD!5SGhUVQ6k?)8X3*?4ZrXlFs8*RA$SZp{httJrejau+v2%|Fw3?X*IeQ^YDsjCN~7G8C^k!IUjGrO)qAN&8}w7 zAB#CBrBwz(T5Ov$mIRcaMe%>LiLLz;tdKIBgx1jwp}A-(F=}!8SL7|KO#g~;?-M0} z1@oO**4T>*md!n(NCG>-7H~P~bDU+hAbY+i+suS@;lqHI;8WvoNo|(@jWc_9R8mY!v+qM@XrFVH2Gvc@RT}CxbFOkmpd?7DbFKnkQzR^O)|Jk> zYRlROrHSL-Ic|KZfB1bh69+|?s~A~;Q{-OX+ON;S0nYhsD=>hz&9}OX&?(iv5LXuU zQbwyXtmDiUBwTOh?*0Uq#0!U$Y%NOxRFk+ZUw=F1?eU;A7|P?yVcm+mC4>f7i}=^_ zpOHCL;CR_hrXNY7qh3xOh+R*kFU)!tXO>YKyRK28YgBBhMg@nG%F<7LeuZR`PkE~-WuVK_ zX@6S)d5M@SY#x!>PlJ2Bd;*4O1p?zT^OLWhl{Z2U25q#*{n}AqqUQ80hR>j%ZA+&C{k_27L?T2a?fT_VJPm&Xwn|E80-TDHD9NQ%2iIcp2 z!4G{&(s)>!6z5&}j;%J1T?wN2498D^6}wa2vUEL)?q~xc)DI$$y+i z_l$LOsaR?Vxo0}rHY(o8!0~uI81^fUXgXlsm&P@t(quJH+BDMIXu&x#FvVBsP*>h5 z5F}*J#nDLg{1b7YWg+YBhM_ZJp$Bp67@XnoO=ySrfHU?_T4V_kx+2K)dcc{0Af&Z2 z@IQ`qH?jYzd5B+E#xdsTZMD>M&VL*$GMThL3hO!xd&V#BT+`DeA@59NUvje*3~GDz zDN2uvN@#y;2VaB!xIa1^cX0fby&x@@SGPElVHd*~7aT&y1&i8kPr`@4JFz#>5GOkB zf2ZR9bvn}dbUZFi+4ba>y_HcSAk>P}NCaV4nhyegSC&J7Y^=&^NYC@2_d`tBsS--KU6b3SQQY{s>TrxxF)<_w+GN9JxB* zg%g$M=8mQ?vb$SfuzRoxP0Zb-BA-3vDC1V98)#*5L?mvqQB7Y%Y6j|#8I?%*y zBjQ8f1eZ38U+=Gyzx~UXE%Dhl-4X3PBx+39NK*^aG0Aop5jca7;NYDhU%O*Ve%cF)(f87h<3~Wl0^y z@S^E_RFop)(|}8z4mJ-Vlh$-M_h9xZ*>qCctYC~ z<=G`t;(Tfk_$OTA`z5?fouAoM-q7;OqU0Y8_$(#C3PVuR2qGuS99A}|<^IE#qr$K%g`{a(K}==FR3FFoTDLCZM) zJnW75gI@p3W8G{9ABkoa`DFK9m;YJ8hcgLq(lb_=L_g9}Bbv9JG4Wz068r^wuIc&V ziq}u3 zUud1L$w7HY0(0|w{i5&7ZZwKy*0aTNGHYtDFFHb$XM3&5|X>Cy? zAr(o|pEEIpYWYM-=pD((49ZUu*8X#S&(mOZbOd34yf>TVcV#)&X_iVzs^J{ z#5KNDsyBo(D0qLct4dHkBj*CYnigKs#bp7my3`bES8A&D%_3TSpHHWw@?0dp3|nKd z&A(SX;Y*Z$Q*hhxW+h&mWTnamz8W8OeWI7G%BO4gy(B^UG8}Ewae21cwYzESYx6;D z+uinx??My=ppQ0xq$!;04ZBHa?5o#g8C?AV_L&3dh>VeCPlMd_t>16k( z=Y?rOh`A(&f6-a9=UQAyaMCg zWAW;5RIGm!G(WVCj^J=_dN`fzjR%KEdx!Hm+&h}1d4GP`pCW`}*W6Xbs`vYT44ZK< z?H>+iu)jAQ%&fif1Wxv5X8&*x&ij-3z#LA|#7ahSmq5IR-Yu6F2->gj`mZ@piEEKx zbNl0RP5y+K8OMG9x@zOt81{$#y}@8_Fud*`9S?tp$NhtU8$II}>M?)Xm(*j%R^oG_ zPI6poweR$kA8ad#d@zkik@H{QQNiO5=HNnN{$|XnyMmmoEy&Ow!z+|` z)wX1k;vkhDC9-RJP>=~AW#bittc`vX->WFNv``iwRx3EsOj*O_cG5t@1*3Wb6_<;0 zg^GVG`ldS-_stMN{R#Okl|;`tTM+7^OXShDYsTb4?8!IdBU)W7Hy$>jZ5$5|#)k(7 zNB!y1c--T!q^D~*7$1xeN7M14czAUW9piW~JUkp9^#_NChyCzzw*AS)C(k&Zj(f%j z@z-Yqez^Dq2BXn|@g;?eLp{b7geiEDT zS%(P4`$^+8OyM->AB+yhgTvuCf!1I;=uZd3gVD58%%a}r!V7)zti#c-U$a5^3j$CLiic$~s8LGWE-I6XWV9E}gA zVr_CToa_z*Om~n04tAOW4tJgbj&_^@9(!@kKrmTo)zC~eY=3&{s)Hh4jXi!&UGT){ zX+_YfB6xmsPYeGYBlooA-zjo`?1g`xGiX^3MkZ<@^833c@>?L(#crTvNn2o+>a9xp zkB3L&qv^r$XqrGS{`l#TOUwSl$>Gt_XgoO@CKojJ`00>qDEYTR^{piTmZ)BJ3-Byd zpH>1pMfGVFutQWIQvm+C$)H;Wka_gn3P2U1r&j=~nAKDOJB3^a#{c$^>rQ_Gw5Iy5 z6+jnMza0h8(b{#e3)miV9qa+Ng!7&(d&2YZ0zbhVAvn`2mPb*bTZZF z0lUNiFXTMn*%(0eJm9$)Af^^9$e@X>Jgu-(yR5XH*eT@F3S*~``>tF@JB3_YOY9VK zX}z&i$fXs?P9gVQd6RYsxtM>}5Eq){>5M^td^kCnrZztQvkrGX`IbRiNjxt$*=@vg zVv}_oJtsC3+%fYiVG@q95J4N#ualcD6pDX{{c>8nEEO0+PqXJOIXv_Zo zHmKD-@r~S?1?Y9`ORVX_DRRdqoHG*E}iK}Q4WXrSFt3OX9-Ig$H5qJeUhfsPD%lAVH%4BFwq z2pt)uBZG8gkW>*aS|H+yLOHi+qYo0EX{YcbMgi?m3XMKW(1~MD6za1>RG&}-u}y;3 z0$K}bEugi4)&f767FZL{ze8P%e;rMvqlvWe*U>~TI-2P5(XW3j>>0;oZQDKL9f31D zDhuq_HvNcw9Q>c~LHzvStYszBe$O}&e~Ujkz!SPA%!m3|QHHxlb>^TKmGaEtP{N|g z!Ce=RG1R|hKMYF6c2*TUU0^m3p~UMtGa|~xs?5g+zhzi$JcDSuI(VY!tVG4oj?!m!rbne3 ze6uG>Ay$LzgbY+^9~Xb6^wmMN|Ge?}@?4$KySvD8S8K)}PK?LLFOUB(00960oXmr# H>JkG0q0eNK delta 12117 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 Lvcu@%>JkG0?KpZ4 diff --git a/build/openrpc/worker.json.gz b/build/openrpc/worker.json.gz index 0e0734c8db511306cf9dbc9137cf74f26f2028df..6c3616074c8c084ee49ca617f22da08f31316efb 100644 GIT binary patch delta 3856 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 S*8d*>0RR7skdo`IE&%|7)NX44 delta 3853 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 P00960{}HDHtu6ro3_)}M diff --git a/gateway/proxy_eth.go b/gateway/proxy_eth.go index 7e1659f08..3342875c3 100644 --- a/gateway/proxy_eth.go +++ b/gateway/proxy_eth.go @@ -145,11 +145,21 @@ func (gw *Node) EthGetBlockByNumber(ctx context.Context, blkNum string, fullTxIn } func (gw *Node) EthGetTransactionByHash(ctx context.Context, txHash *ethtypes.EthHash) (*ethtypes.EthTx, error) { + return gw.target.EthGetTransactionByHashLimited(ctx, txHash, api.LookbackNoLimit) +} + +func (gw *Node) EthGetTransactionByHashLimited(ctx context.Context, txHash *ethtypes.EthHash, limit abi.ChainEpoch) (*ethtypes.EthTx, error) { if err := gw.limit(ctx, stateRateLimitTokens); err != nil { return nil, err } + if limit == api.LookbackNoLimit { + limit = gw.stateWaitLookbackLimit + } + if gw.stateWaitLookbackLimit != api.LookbackNoLimit && limit > gw.stateWaitLookbackLimit { + limit = gw.stateWaitLookbackLimit + } - return gw.target.EthGetTransactionByHashLimited(ctx, txHash, gw.stateWaitLookbackLimit) + return gw.target.EthGetTransactionByHashLimited(ctx, txHash, limit) } func (gw *Node) EthGetTransactionHashByCid(ctx context.Context, cid cid.Cid) (*ethtypes.EthHash, error) { @@ -181,11 +191,21 @@ func (gw *Node) EthGetTransactionCount(ctx context.Context, sender ethtypes.EthA } func (gw *Node) EthGetTransactionReceipt(ctx context.Context, txHash ethtypes.EthHash) (*api.EthTxReceipt, error) { + return gw.EthGetTransactionReceiptLimited(ctx, txHash, api.LookbackNoLimit) +} + +func (gw *Node) EthGetTransactionReceiptLimited(ctx context.Context, txHash ethtypes.EthHash, limit abi.ChainEpoch) (*api.EthTxReceipt, error) { if err := gw.limit(ctx, stateRateLimitTokens); err != nil { return nil, err } + if limit == api.LookbackNoLimit { + limit = gw.stateWaitLookbackLimit + } + if gw.stateWaitLookbackLimit != api.LookbackNoLimit && limit > gw.stateWaitLookbackLimit { + limit = gw.stateWaitLookbackLimit + } - return gw.target.EthGetTransactionReceiptLimited(ctx, txHash, gw.stateWaitLookbackLimit) + return gw.target.EthGetTransactionReceiptLimited(ctx, txHash, limit) } func (gw *Node) EthGetCode(ctx context.Context, address ethtypes.EthAddress, blkOpt string) (ethtypes.EthBytes, error) { diff --git a/node/impl/full/eth.go b/node/impl/full/eth.go index 4f3727b11..4470db1c8 100644 --- a/node/impl/full/eth.go +++ b/node/impl/full/eth.go @@ -91,6 +91,8 @@ type EthEventAPI interface { var ( _ EthModuleAPI = *new(api.FullNode) _ EthEventAPI = *new(api.FullNode) + + _ EthModuleAPI = *new(api.Gateway) ) // EthModule provides the default implementation of the standard Ethereum JSON-RPC API.