From 008fe338f506120461151807deb1123c23aef385 Mon Sep 17 00:00:00 2001 From: Paul Razvan Berg Date: Sun, 31 Dec 2023 13:28:18 +0200 Subject: [PATCH 1/3] build: update solarray --- package.json | 2 +- pnpm-lock.yaml | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 621102a65..32a26b606 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "forge-std": "github:foundry-rs/forge-std#v1.5.6", "prettier": "^2.8.8", "solady": "0.0.129", - "solarray": "github:evmcheb/solarray#0625e7e", + "solarray": "github:sablier-labs/solarray#6bf10cb", "solhint": "^4.0.0" }, "files": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b136c4d2..fd90168b3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,8 +26,8 @@ devDependencies: specifier: 0.0.129 version: 0.0.129 solarray: - specifier: github:evmcheb/solarray#0625e7e - version: github.com/evmcheb/solarray/0625e7e + specifier: github:sablier-labs/solarray#6bf10cb + version: github.com/sablier-labs/solarray/6bf10cb solhint: specifier: ^4.0.0 version: 4.0.0 @@ -725,14 +725,14 @@ packages: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true - github.com/evmcheb/solarray/0625e7e: - resolution: {tarball: https://codeload.github.com/evmcheb/solarray/tar.gz/0625e7e} - name: solarray#0625e7e - version: 0.0.0 - dev: true - github.com/foundry-rs/forge-std/e8a047e3f40f13fa37af6fe14e6e06283d9a060e: resolution: {tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/e8a047e3f40f13fa37af6fe14e6e06283d9a060e} name: forge-std version: 1.5.6 dev: true + + github.com/sablier-labs/solarray/6bf10cb: + resolution: {tarball: https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb} + name: solarray + version: 1.0.0 + dev: true From 42d32a50d6a4b393d7e21572eb6c53ab3b704f3d Mon Sep 17 00:00:00 2001 From: Paul Razvan Berg Date: Sun, 31 Dec 2023 13:32:15 +0200 Subject: [PATCH 2/3] build: switch to bun for dep management --- .github/workflows/ci-deep.yml | 32 +- .github/workflows/ci-slither.yml | 32 +- .github/workflows/ci.yml | 43 +- .gitignore | 1 + .prettierignore | 1 + CONTRIBUTING.md | 5 +- README.md | 8 +- bun.lockb | Bin 0 -> 43222 bytes package.json | 10 +- pnpm-lock.yaml | 738 ------------------------------- shell/prepare-artifacts.sh | 4 +- 11 files changed, 40 insertions(+), 834 deletions(-) create mode 100755 bun.lockb delete mode 100644 pnpm-lock.yaml diff --git a/.github/workflows/ci-deep.yml b/.github/workflows/ci-deep.yml index 66f525ad6..a3c69eff9 100644 --- a/.github/workflows/ci-deep.yml +++ b/.github/workflows/ci-deep.yml @@ -41,22 +41,14 @@ jobs: - name: "Install Foundry" uses: "foundry-rs/foundry-toolchain@v1" - - name: "Install Pnpm" - uses: "pnpm/action-setup@v2" - with: - version: "8" - - - name: "Install Node.js" - uses: "actions/setup-node@v3" - with: - cache: "pnpm" - node-version: "lts/*" + - name: "Install Bun" + uses: "oven-sh/setup-bun@v1" - name: "Install the Node.js dependencies" - run: "pnpm install" + run: "bun install" - - name: "Lint the contracts" - run: "pnpm lint" + - name: "Lint the code" + run: "bun run lint" - name: "Add lint summary" run: | @@ -72,19 +64,11 @@ jobs: - name: "Install Foundry" uses: "foundry-rs/foundry-toolchain@v1" - - name: "Install Pnpm" - uses: "pnpm/action-setup@v2" - with: - version: "8" - - - name: "Install Node.js" - uses: "actions/setup-node@v3" - with: - cache: "pnpm" - node-version: "lts/*" + - name: "Install Bun" + uses: "oven-sh/setup-bun@v1" - name: "Install the Node.js dependencies" - run: "pnpm install" + run: "bun install" - name: "Show the Foundry config" run: "forge config" diff --git a/.github/workflows/ci-slither.yml b/.github/workflows/ci-slither.yml index d2e2f57d5..f9e8444ba 100644 --- a/.github/workflows/ci-slither.yml +++ b/.github/workflows/ci-slither.yml @@ -19,22 +19,14 @@ jobs: - name: "Install Foundry" uses: "foundry-rs/foundry-toolchain@v1" - - name: "Install Pnpm" - uses: "pnpm/action-setup@v2" - with: - version: "8" - - - name: "Install Node.js" - uses: "actions/setup-node@v3" - with: - cache: "pnpm" - node-version: "lts/*" + - name: "Install Bun" + uses: "oven-sh/setup-bun@v1" - name: "Install the Node.js dependencies" - run: "pnpm install" + run: "bun install" - - name: "Lint the contracts" - run: "pnpm lint" + - name: "Lint the code" + run: "bun run lint" - name: "Add lint summary" run: | @@ -51,19 +43,11 @@ jobs: - name: "Check out the repo" uses: "actions/checkout@v3" - - name: "Install Pnpm" - uses: "pnpm/action-setup@v2" - with: - version: "8" - - - name: "Install Node.js" - uses: "actions/setup-node@v3" - with: - cache: "pnpm" - node-version: "lts/*" + - name: "Install Bun" + uses: "oven-sh/setup-bun@v1" - name: "Install the Node.js dependencies" - run: "pnpm install" + run: "bun install" - name: "Run Slither analysis" uses: "crytic/slither-action@v0.3.0" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2c424484e..f75319bba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,22 +26,14 @@ jobs: - name: "Install Foundry" uses: "foundry-rs/foundry-toolchain@v1" - - name: "Install Pnpm" - uses: "pnpm/action-setup@v2" - with: - version: "8" - - - name: "Install Node.js" - uses: "actions/setup-node@v3" - with: - cache: "pnpm" - node-version: "lts/*" + - name: "Install Bun" + uses: "oven-sh/setup-bun@v1" - name: "Install the Node.js dependencies" - run: "pnpm install" + run: "bun install" - - name: "Lint the contracts" - run: "pnpm lint" + - name: "Lint the code" + run: "bun run lint" - name: "Add lint summary" run: | @@ -57,19 +49,11 @@ jobs: - name: "Install Foundry" uses: "foundry-rs/foundry-toolchain@v1" - - name: "Install Pnpm" - uses: "pnpm/action-setup@v2" - with: - version: "8" - - - name: "Install Node.js" - uses: "actions/setup-node@v3" - with: - cache: "pnpm" - node-version: "lts/*" + - name: "Install Bun" + uses: "oven-sh/setup-bun@v1" - name: "Install the Node.js dependencies" - run: "pnpm install" + run: "bun install" - name: "Show the Foundry config" run: "forge config" @@ -112,17 +96,6 @@ jobs: - name: "Install Foundry" uses: "foundry-rs/foundry-toolchain@v1" - - name: "Install Pnpm" - uses: "pnpm/action-setup@v2" - with: - version: "8" - - - name: "Install Node.js" - uses: "actions/setup-node@v3" - with: - cache: "pnpm" - node-version: "lts/*" - - name: "Restore the cached build and the node modules" uses: "actions/cache/restore@v3" with: diff --git a/.gitignore b/.gitignore index 9d4d1426a..dfe17c873 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,5 @@ out-svg .pnp.* lcov.info package-lock.json +pnpm-lock.yaml yarn.lock diff --git a/.prettierignore b/.prettierignore index b3ec58260..6980e2b3b 100644 --- a/.prettierignore +++ b/.prettierignore @@ -16,6 +16,7 @@ out-svg *.sol .DS_Store .pnp.* +bun.lockb lcov.info package-lock.json pnpm-lock.yaml diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1f7ea57fc..395fb63da 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ You will need the following software on your machine: - [Git](https://git-scm.com/downloads) - [Foundry](https://github.com/foundry-rs/foundry) - [Node.Js](https://nodejs.org/en/download/) -- [Pnpm](https://pnpm.io/) +- [Bun](https://bun.sh/) In addition, familiarity with [Solidity](https://soliditylang.org/) is requisite. @@ -29,7 +29,7 @@ $ git clone --recurse-submodules -j8 git@github.com:sablier-labs/v2-core.git Then, inside the project's directory, run this to install the Node.js dependencies: ```shell -$ pnpm install +$ bun install ``` Now you can start making changes. @@ -48,7 +48,6 @@ When making a pull request, ensure that: - Gas snapshots are provided and demonstrate an improvement (or an acceptable deficit given other improvements). - Reference contracts are modified correspondingly if relevant. - New tests are included for all new features or code paths. -- If making a modification to third-party Node.js dependencies, `pnpm audit` passes. - A descriptive summary of the PR has been provided. ## Environment Variables diff --git a/README.md b/README.md index 44fc6ce53..84c7526ea 100644 --- a/README.md +++ b/README.md @@ -30,13 +30,13 @@ of tokens deposited. This is the recommended approach. -Install Sablier V2 Core as a Node.js package: +Install Sablier V2 Core using your favorite package manager, e.g., with Bun: ```shell -yarn add @sablier/v2-core +bun add @sablier/v2-core ``` -Then, if you are using Foundry, add these to your `remappings.txt` file: +Then, if you are using Foundry, you need to add these to your `remappings.txt` file: ```text @sablier/v2-core/=node_modules/@sablier/v2-core/ @@ -46,6 +46,8 @@ Then, if you are using Foundry, add these to your `remappings.txt` file: ### Git Submodules +This installation method is not recommended, but it is available for those who prefer it. + First, install the submodule using Forge: ```shell diff --git a/bun.lockb b/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..240f58ac02d86563e82730c3ce788cc177f815b8 GIT binary patch literal 43222 zcmeIbc|4Tg`#(N3WT~`}q(XZbyDSNbv`A!WK^hE(F{7EG6rxlr6-lYIuhPEJChdFL zR6=QAZ0-B!aaQAxE(EI)V{T`n`IdY)21i_J^TpouNDiB7o#jIEp6?q1OaW1j^`TjoK>7O^nm|N8yTqGzu zbt&|7_LGrS?--_E5=IZ&422+wB@sjEA90fOzPm_zK}D?@j3gk2GQ<-g)`VCj;DvMf zVn(!(BNlTx!VPi^h6<#M*+D!GlvyslKLui8dIH2PAogu0;U5OED&k1<2Qwx4{UOHm zYY?}DSWiL19|Gmn;GP{3OUV=?84E!^Y!6Qm!WM-y7%6by3hu9fN>EN?$i!F}OjXC&4flv2#pQFO z001H?V-uvKyq%=^3UGrsi4Y_I1&FczT!=Lw4uC|sO!9<39Uu-9Nc!RgG#1O}LX7%Oq=vQC?R7#rxjU^av3vjvd8gu!UjKY@vw54dV-h90ntdCkR4? z2>8Kp$6!npvZJHp7>ttuj`BtV81_dI#3&z^AI=eS#Ud_0l*bJV7axFfD9;pWzeGcf z_wHb9$nOj>wpRg^hV6X@_njf;2!#S6i!U?Lbz;rLKHh5)q$XK5WyCUZSfex8y{b*b^e5U(1h;&9aYt=ua4ewWysrAkJs&=UZ&mQ>5z9L7PWFLA3C5{%cRr( z26JZiu@9PU)k-12Py5XNNtWMVl&1FlZts_>taUa+xnjo7JdGibeOoT<{_y3=gy@`G z7q7owvh!xgc)i!k!{QIT-C(t|=s|4%6*lfS{2!01j`f|Qt-gH6p$%};fVzV*&t%b9)i{x!w;`<`xwJ@>5Zsb{9nZ((M><|D`R zq32X*<$}+>U)`+}X}-)K-*#4y?F%QTw45-1V8@4P9}j)aYvW+CK5V6WOJS>7Gxygr z8C%cPj@nMrzd!5x_JdesX;hysL0c9Djrd_P!F_Pvi`LUUl)Fw^IWaGJdF7JV`ggym zY1J56W{A^JLae(7AbPwTeI%d6Fv_#VG|`o+l8=WcU0Mud)< zSKD!nyUW>~PD`^Vu~kmylwR%?ANxf|{=qoU+S=$bM{5;w?$-1k<#}Ux!0U7O+bnyb z+2P)eFpUj{$EzM(xuNhht1mx$dyC0C2c)>$t?@ZJHT&!R0b>KVmmjLu6B%|4w+!59 zY*>>uxlE_^#b8!kzd38m&GbGUt9bq-wcIEx`#pd0G=gvWZ)J z|JyDnf`c#hdLzs%4?oy)blLg&Yj*p5ODOjFot+(>(5tL^>QMD(o9C$Ayr~%d#A9-^ z;XX_A@9xi23m&;)b@j)fiokYC7I}K3*M6SyqkB~gT`kpVJN0`cpXISnAmHI!wv1BSI)Y2tlgbqZE7#y7cz95h-^B zN(`3r!~DS@>Az)^W{`4f(2%~g`WxdT`Gmg^_^p8-?_r6p-+7R7zl#a~d*HVNek@1Q ze#b*kCuPmx!VLHoArtFwYQGTv*>HjNBR_^e!YqQhylm4+4JVLn7&oVUTj$fZrJSvHxHn)8s(- z+k)Z4wxz!QKW+aY;3wlB_5Y{*iNNm;^%HqW+*m_Mxr@N>0sKv^m*5iqPVoFN2>6NY zO|>DyF93ejA4CkC1OBxCw*sRr@Iy2HD3JP}0RMk8e|G}I!TSHx@$U&8I% z)mlmBkN=e43-}%Xi~2Kx-wF6p9;82Q{|jmT$oHS{>%-v-&fhqG5aUnl4*~xFX8*ey z_=if{k9Gg4{l5Tyci{h%xdW=9bcOLCIMi_le(e9IwjKFU*BIsizZ>x5xWP2&jwS`d z-xd}`Xe@kIE@9uKO6YbesTOXwQj^F{FkKs z$lFxgq4R%}%1`PhxL8J3AmvP9!%O-PF`C+kgnu&d5Be|c=Q8j+1OI<2f7|vy_kUA$ zNaPM`yp(chogE}cIN_&uch$MmMkKCz>&NrwrnZCBZw2q+$nz7i zA#6uuf$)ofAL}Rm|EKm}3H-Le-&8pcEvCwNCHtskZmdZCx z8v{SCd*m6O$RaBy?RSRv+c^JVS<(lx_(&e%Uj+RAz>oJ$l^rn%|4ZP<{S&6OrlsS( ztU&mkbr}ptDL;MgWb>lK*+v$O>5gr_3|X>h$v?5ME(|HUlJ5q{`~1E^p{6FmL5y@r z2h&V~BEJlz{%yLF{W~d?OfDLUN&OFjAI46SGn9wtn+o(8^$XQe{oGZOjo)BU^Ii|>Jw3)brMEO4 zW3-Px(pX=bPLEM`BWXU^G!b997E{_R7;h&lHSAIMFm+g^4kGn zd*G~&vfTj?W55{mo$v+%J%*!2#&96ahcgl?&|`T>@sOs=ijm(_S`K4eD@RN3=`ofY zBTbhTW4W=?a`YI}{iNyi82f!Z5azRiFkp=LLDD!FVhr>c+sC0&e~u9^LYj^-_B&sC zPmd8_AWg>@@g@LaKZt=aKL!W`J;wA{AdDvhVZa#qCgTkRdW^X7RH`IKz69w#J;riV zfiOP_2tyL}_vaYflOj#0$H+HBn%-E9#r}>@YHvYl?C~l#AbeOrMY{fRo=uyIz8pw z_XN5)kLC$MMuLldP69K#ZuhgrTgF+gG}9TMHACcE*L?h|^*M}QeuiFy+N=}~%sbTM zib?6?3H+U3?Gh5N-PKdJwR$q7{o~LPa#I#LDQpKIf{Sx22~3_(km)hO%nbowh53W# z^gESx>q%_wJfmZ$p4k+}`oB{>b6t0_%3iBibDrK@Tohc!>C-N!N-pyA?tRPK>jo8+ zCIJw^#krIO=DzFkxpF)D+F2{b-u@Kx=t{QyxTzkg0sA6XMk>?}>#ks*Za3|INUw)a zb}r}K%j9~Pxd-aMNEp}Rdg#^lX__P60T97O8z+HjRi{3uNV5gk&d#T}GTPinCoJky zRuxGe{(KCKbWSs#}9 zd`;et$yQp$j#<73yKCMUT)9cmW@bp>(Q9**s<#v$aNe`e)%y_u5qa_4j0EPE2Oi_R zuXzN$H=H`sbF$qi)eaBNcU;+__p?1CmtSVy*y-Qyf>l4aKC#_J=X6Bh77sD=YJW8G zh4qtf8?JFo2dHQO5Wyw;NyKIrZB2Jk3GOvaY16ipZ9M}zp1s&3vg4*@ZTj|homo4x zI?MgX?X%4{m`#5DeczP%TMksdb|^o&{^mK3$&v0=b9#!t({NP~P#T!UeKtO=D%@$% z)=&4_=9??$1)OOA(W%e5p|OUy!?TP!saZJ}l+}v2cbpiYG-1azE&D$6kC`a*#ylwS zd}iBb+!80iA@bs0jRdA?@7tG7&9iRVrAY31@j%lJ$%5mpb}wKJ*N%^xJZDeUd<~Ta zSM8OnZoQhB|19TjSFcNI%tPV|^Koq>l}kplQ=S13!Nq4X5}2Ed(h}QSJapCQY;R?7 z#pS$8cGSRAA!{yA-+kzAq}S+0ey?*DRD8WxnHKQau%h)MTT>0)Z{x$P509U*e5n45 zla>HPaOv;4nPG?APWW#dJ|%Acx=z+V<~!Y5RN^zm@;& z-7h;VGkIfJ>hLs46v)ipwICuudsAZG5gKkQA}qwrOFI*`c6A&vwrqZnfr9Xe-kz7n zA0EGdL`%<3W6Ebnt4)~Px7;sak^D;W+8YNZR2SzQ@{lU+q(9?y#&^pn}Ui%h08^Eu){FR;|ov zwdDLa_xSs7bnl&ZRbJCW@(dxFf5~$c!ZXFyh2^S?E4J;l-0#};q1FZ~-L%NLUSE=p zzbv1Skzf;hV%?d0m33ymD+f$unO4bL>QeP*&)am%=8aoFx3u^>0cu;zwASCa z@_l%5{-Gr1=jhzou7E>uQ70rYcWLiixTMvGt~J4}hZb(SK3Qkzr3{mP;>>dit|MyY z!|jego9v~PIymLE`GS(#KJMqo+x6l;i<@y`=K_{TLC!IJCLy@^%tivUcK4zStPcbI zb3UB+xM9-Ms9f{b2$vc&ov}Xq*mvy41_aIZUfHGB%2@->#DADu`bN`W>)SnNa`cM> zw;Igt`KbcuFoH`z4`UvgJH?~F_q%Z0TT=~F4h^&Y;CQI6*-qmJi~O9uCpQ1mV#Ngg z;q9Ur3Efs4_@0*0W^78KOYpvTYuumq@pakv`7oZZ5nP-rNMHth>ouk}V^{S9^$Uga ztNiBl&|bDQ;<@qEO|>s;W)y!-cb&PfS(ly^s zFIcK>I;^wj;`yvRt1W_Itrj0z){j+j5P%4-CIN+*IdyXS`xLYH{gYBOkLr{-eehS! zUhSkjqO!&F^A?JVPqaR!f&$>+=C#vb>4tD6F`z8Ls=&L(gtLJ|z+oRa&^RSIct-@Qpaay9?xZOkZPo zB%kAbbjEmBRy7S*n~rOF>FkJ{S(iR}B@|TVhRNG6>(_Ga?#eOGn-7_KQMdh7t9}bw zcRjd%SLeK5dpn<~EAGeAFZvMItk*TowO@w>cbbc98tFH3eu41Jqugd~YNup9ZFkUj zde?_u4y>yeQdK*wTzaFXuH6`ee%y#W|*H~ zL55%`4YxA_N&{2>jo1CjN#<7m#zl5;a;Mwh4ouqjVXe{^%^xiC*JKmW0rPbhoQ!#iu~_N!Zu3i`bedwSa1brp<&llw0$oV{VKmhnzCU9r+4 zC-3B*(d@*j$qpT?qb~2Cc(Pm}D(+a`iNxl+RGN1Z4)zcIy7Qc(8b0F@J?PPKA28xq zZ0ncsRKs^*>T_-DDSJO#JbE-Yqo?uS8?le7pC8I^Q+n;(xf<`422;-IhN$g4bIoYd zyzE=P_xLSXm+xE9*Nd)n+%m%?*YnBg6}Jy+&W?!bGup_zV*jVLMX!sl#Jif5EV66X z`Cuo;^1E9$zdKaC(A)lDM##tWUz)3AZOM&DI(5XHZfD)-xIF@2A5@4vWO*R<E#kH@1#b@7;FS z6q+8o({T;&ztVlOfPM9G4{fIbFVFfc4?OW@m3eWVuYJM0w#_e{J9?Pc+GRr2vxhHq zeYP&=oHW}rxNS*B)!Ys@cB!aE7FpA9d(d&$eS45@7ZtGD=B?J!1Ix~ZmH7z z`wROe+{#cLwJyP<_vPM8d^UCNJijY}ozGZp%uov5H^FttyY{m=!&a}L;r68CdZ@){ zD=bLyG|d-wy~JN`^Tc68OSy#)qxEh2&sI31zm-!kK5zPraVu6h7}sQ9f8xGB?9go& z!SuYhm**9kGM(uA-(GawEe@+*HY;+OP-Q+iGGfDRfuPLBJFD``IVZ0%UoC^Lsywl{ zw57Ca?Pb^PKId9L-JR$+BtvIS-Q4FkS1v0b49Ie!$=jQbTX^m0hnee7pS(Du#$iJK zbJr>}`zmu`wO;P%b9ww}1y?H7!#}@?Xrmxn@aQ=AXvCMESMAKsu3R6aU-%}ox$^tN zG+eYf5}520S6*%Fc5FufD61i@vL2cl9ow#DaFbI#Zl7|YZQ7lXX49O5iqD?n%FT~i z`)XQ0?*t{Sl&wemO;r4r)-!42E<*q!<3gW+Ld<;IY0d7FvGMPCmf0Wc&M)%Zy(;^N zeSZ4DQN6FtEMFQ@FsCNHNPd?~;vAuk^;>iI=ys7q>RovLtMiP=vF%G89*q%vg&}{EpG$ieYs;>bY0^rt;fnIUfww9drcew5k0U7D8$T%ZnIA9@n0gy zyELWrz!-y|)Uo@u+xGNo=fCB(cFy4gXJ;J^+|^>&m5oZLtEPGPE3Im~ZC!_5pY>MB zO~~1KPvs?j{xzcGt}~hTqPfRsc^mPBN^KTS>A2X|bU17pn zFB+~10!jmO)Y6g@UPZRe&z2up8PPxGblB>e51Zzzdr$Ar>ECP51&{41@3oUv{haK( zab7W6pBrmjRlD)R{rRhRFR<0VZpd2-I7D7k0tzwn>Nb}L<34=L7-N&GyrSi)LZ{fz z%*+A2A3K6l9z7ix?EK1}&#vU^XK+@T&%a(hMLVa;zlW#7{TEK7jJDUbJpY-7i|6np zFvnIWu{zweGu@W|)x2lV75&mRgX{FdF6sF$IcVN{$F%(!ZTO!`60Y&p1=%+$Hehhrv7zt#CEs{m z{Ip7EcVCO{xCRq>@mY=pCO7KSxlCJyqaRl<9kb#@^V>T&hh7^syp!{=adqt`g%8p< z@#41cymn}N=j2w=S3jLQ(yPv6MqEa_t~y7D2G6~<4xhCNF23I&fm!UfxLd74tAj7& zjJ1~CWiH65=*cy^wQ6o@?c!+(-&3~-`t|)hV&Z*^vHL%s$#gkld;jv{9n+^C|JLjh z^P!dLCEP<2Tzp?b0`s!t^~d8C9;h!|GuSM#Rg`*~=#^OI3*YyfS;<;6FO$_{PgPxD zY7aZDvbsPu%TY(ohyP7u^qC1GX7(!c;q^_R+ZoP5Brp$na`iiWGSi<!E{I$`~Y zFDd;!hTk_n$eiu>W}~r5pSlyr9@Q?3dDGJU(<*(9V+&vIQGM}Z_PZRPIfFEr4_5&Y zk=KTRLd=}9u&qwH8+&-O%X`1i57aNSI-<5|vEm*3ZbkDp)Ma&hu)o)3TFEVid@Nu{3~;ogS?=KXzf z3U6bVZMx#Nv~bk&5&ds{4_&?{b?)^7M%?ssowkXVZm{?l#%*jWNJThD0dn*2peaH#Vb@`Ren!UT-<@CBGmvTDX zP%N$9Y(K1Wq{jCgGqcJ5_w_={c8NZ`9Z=paH*VkDz8Z6~0|1EN_9vhaGjB#|>-zZD zJn%jL;m9!Oumc@BIjxx*aMxqkAV%Zq|j$Vz)bk0+q(=RXMIn zj_=XS>h889jx=0*I_~GS!ZT?>`uh(rT~>a)!$s#)dTN=TB|2Spelpif8}(srP~5Tb zlM1H}Ih@|m`TOMWYVCZMWlzejyQp#PL(l%I+&45_2RiP@Pw9aJAIMF=80XuiEb&5j zMPuvJ?Qiza(^=f6U-x`LQl|IvjrWr84SKz!nXP#zrs7qbGnOSf!KKIJ+%n{ge~4(f zj&$4yWi|U=jMDZQJ3iv->;pFKb=C5Wv~E*!3bt7J&kXSRG55^T%2|;Uv#QN%X}EaiMFR79&X_&d z!%r=q-KOgxy+yBE49eaZpwLIxUR`HwPs5ejo86APc}(AS|9=0WJrxwYEP7#Q?kVJE z8$B}^WX4e}+2IU8MBae}6k_I^I^WzUWtz65-abkkvweQq&8=NiyEtDg?|4PY@{U`l z_@wCpI@cF3)bQ|&9y)XCn_DM5yUDHEQuh9&V#^bSFV0ucaIp>&nA7t^H=Y%KW_($u zV`ptV{Fq**{w%A^u006veK730dA}us8&i8dEk51);KVP0 zLFC0VBodfQQgXjq@FvgsR#cdBB%sj!QLn0rZs{LOzn@PSH(1YYP|4fe5ySkwcde+c zd)>NUn(4k{1MU~}aeV9VDwaP|U5xKg2`;XoBrq3k)%f9CwVuCGVSwwt!b>9~9hp7f zk69eLoYyk7(k4amtIw5%m7Od0p4xrnyvFP^CUSz~*3QBHhr}1Zi2?@3z5pPCi*pbO z%yH35N7TBQKbL>LLG{d5BPT;R8l_H*KNGz+j0AEx^?CkbyD9@*=IoM z*o%cr=dU&PYd%6FMcr^)3jiXx_zX@0^KQyYkD7L-;|`@%I4<2+ZIHGs*S%)G-eZCK zz>pWNS2i5^*lWrCy^h=j#wu-be&@99i@1Kwjt=rY^z@Wx%&@^Zf#41!pb#@NzntbK zIt2OV``M+byuD%*+eLTE3+ueF&6@m6rq3@g(z>YHz4zHMw|AuEbXaI!etPIMg-Pc} z8MH5mnYC0;W#us%uG>$z6{+8j*yW`ew?Ct)bm&FmvE$oqPu2BavP(79_nmX~y}o`^ zmu<DMKH3vRY+dtky z5NIC8>ZaEsv7Ne)vQDW}dgvT?&bYI~_t0=h&~YDJ zO)^{lYNK1r${+i(w!ZydnCFyWuH1RaR<}_nALayq*qk-w`o;<~Wo^ZgH(t&Pv^{R9 z*+1ED>?NQ6w+gQIcw=64l!og`$BopTQz&?zqPNR-P@BQs?C$8k6y9@aJNsH&#==v) zfwdnFrcKh_Ic8EqmIw3g@MIO0Igh8Vx$Ux*cO@W4d-lu2I42N!N78ZY`UtbCvtHpZQ>>rFkIe!x+6Xn!Mh0+?uPdeIr(C=&?%Ec`5~)x8^>r zSdqKnX~p{?sn1o~pIGpt#nH9Vj)5YVew)+R?%r~J=lX{yW?j-`<@#OUGW5#V2Q*wC zI&N`)+hG^P>uj6(A1geNzrV_Anp;VE@9F14vJa+>9{I#ANKejc~+3ysn5cZp$ZO){Y=W^RbzK7-2UJ` zcjAQi2dlUN`&@n)~!?`&^;i9iwfz{u*qL(E){h8MB6Vc%*zZRlV(tcZZf14WA%% zR)4T$;Q<=%XgaQwW$>|*v-$JvOj46J_xQNRX>0QEl+AK`_5?p)$nQ8{=ELProJYI1 zzu)VWrR~Rp6JwTc>vCb%r^WJB>76?UI=5Iy!yQA%-MKdK*3&MI9X}2}XY3R`(4t@9 zeaq**8iOKkZNGLe=GB3TSH_gJ;}#sgcI%VR%5QgqvyRR>D3^VSUprvJx0j-m!8F{l zblf9*!?$*E@l@E6wQaK3$*EfuXLReie>3l8t39F0%d_?OR}2}b_-x)7rI0pppW66p z&reUzT2Xs!VB)|bpDnk%j=-~eGA{h+xIX>0y5(xQ+_?WLZT1OqTGZ^LhaN^G7MZrq znt$cPx7|A&rrd3Rrd_Vx)&z~tE=zQ`*?3&CQ9Hb{G(xjOhUmqo%`{wpI_`j%>ih2P z(73|VXfFR!cQ^bZ37a=^v(lW>lhdnAj=iiX-*`+;{_TWK<(E6Qn)yxdOpl~?Z;I~} zzcy+yUUg@QUq>1)?uAKU)`eZ0Jjv|@yVTUub&_uX-hFag&wMksyJ6bByDzj%r-3jY6L5p_{ zE&K==M8AP_T$gL!iKCbmr_A-c={u>)A99~zU*|2J=6*FloA=SxYPM}ew(|a7<*N<6 z-sPLxE|%M${yx2%?U2Kjl|8rb5)}8L;f|-{22Wr5#efrWBc8F~aGxdT3kvyLw@k^c z-ut?J{*9yB<(;||rT6ZUn^|n|s=v-BwFm3P=`-zje1Fw%eJ8Eaw+4)QOT%T;agRLd zFhj9W&0EgErf$Z7SAsKlPLF*#GM+cdL|cBPP4#dS!`qun_bk+(bh}l%Zl6+<^0rOb zdTfo;h@gNmHk#J0&1ty!Y)=An!_kXDoa(*GX1m%(Ymx&Pz6G zHp=CN-18q*m7#g^9Tw*vHEvmE|UO1QcSXLs78&sXC5vmae7JtjKt+g0sXpSy5~dP(Z$Bl%B?Lgyvg z=jpf|{KR`=@Y-Uae|{I+Q}S0T*4MT>WXJ^!VhfE_II5+jD0B#*1H7 zdRNXon3Cb}a$TEplgt6`9euR(a)%yFo6a#GvykU1Ue0}*8j!Hy+{pZ4H4}e&PZmnY zU7cH&;-8^6+515C*VJ}B&kibBQSedsk=a2_hZDvj!AEa;e=yOl^J%vIuzg*d^xE%N z_@4*wb)RC`UuBU+)#!q3n!I6j+%4%zN3;@lm(B0;Vb1QvGb@gJ7Je7sT-z~v>y<@y z-;G=Nf2h$flYf0Q>0aSIi?8NS?<||Ics!t$zOH{r!pEwYxR)k+2&dz=>!Up4t);%j zP2nAGQj%^$x4nBe@HvC;C!K#+J2dlPaF1ur>&l(lWAq^3@oia zGE(Pk?2^_Sy{3!n9<{!irWe`lnlSWXwPwY@VfYS<;6@Noh?xs}T;IJoBk0pv`2yyL z!=Knbf!~Ts92t=n8&A1(+1T#z%AI?+tSR@c-Eq~sSIj&-R(uV+5R%k# z?L``HBpr9b#1bRb>+4n=iipoXn>lm%G(YXCrz;eV+YLFejN7TitZ-H9J{uk9noN7k zUD=uM z#adi^;?n26bLaEEsWA?{Iz6fq4A_2p`S;+iomGQAG*kO>*~a-pKCbOV4^ed7#hO!# z0_SGlYaW_%e7{d*_>{m|S-0nyb&K#R&pgy|WZAM6x~~l{hILV2(%LLSr}dX*C*#$I zO#Tm$~P%SN!n0`$GL*es3GAf-XzoX9szs z&e3qAX}JH3OQK(VMkIlG$N2E#;}=F8C~EDH^wxN(k#UD*i#B;&o2j4nX!40zr>Nq) z-Hg}nE81y4>|B302J7y*QTKyIwTHEglPlh>aC@`{fC#RTfc}qSf{SM|BrqL@d6^YW z4rtka(>7;z$+_{Pc{ZNALqD`?|K$CJ^7Yq_C2A$r?z-SvZFjO;)ny0gRHLXzIb)dJ znd_#=om5;FKtCHGn12$>Lt*keoCsr{uS1OWR3))Aj$Bgny;^tAW27 z`2Sl2u*LZs{%YW_2L5W`uLk~V;I9V$YT&O1{%YW_2L5W`uLk~V;I9V$YT&O1{%YW_ z2L5W`uLk}H8unfM(ge)EXmC*rrIra;C(dO)3l zx&Yz#IYvOefu;gY2ATqdeUE*OeT#h=0>lQwe`9D4WC3IXWC+v~s25OIpgutHKxhZp z-$6i5Km&oCfn0#F?_Gfg0}TNh3N#GJ4X7VbUm)zCI3WC{1;4lT1o8s%2J!*&1#$-( z0b~b+--p=)SpiuC*#OxBjRqP3Uku|3!>)D!9pb%%Y0vTFl%07AP$ z`%(Zxe6*c5KxkWNYnYFArwW92hxe_3(C+YF4X8B`+E;rZw6}IZ>OjQS&^EAddjO%0 zV7&of3={+u0)+Yv0}2O1y+#4?fKaajAf-6?17Xfg zNvvY$XVy0$#u_H)zV-8p>Cclh_7U`F67h4|TF%1A#Ap(vVlQD1@wliYXJXVBevwsT zGnhksGAb!yPXQ&7FQkZfR3*7_W=7UVpj6^#mH2Z+G!r9JGaD)gJ+Tsxk4j3YZ?J)S zU&zGgDxjfo(5-0gpn)Xfl~o?3wlTuK{bzeH$Arou9$<;5NqM<(AV6P$BR*q^Z%WAN z3!=f#xDv0j#Cs*=SQwd_0uS*!OZ;0>Xn+SjCiRd@JYq_CPz2)3miWws98=VS34?g$ zCEhd`3`{(bN_oJbiSJs;0KqKCvi5FT54PWz4~ zCZ2Su9Ba(kAV?Mro`Sr2fyf3)F_}4kJrSrE}&T$S)gphXEyQ8 zOXX1ZM!akjZ@yHHnGw`O{Bi%gJ;Xyd@dOM!mJ$hwk8a`%7;>b&O}uy$Z^4jbF6o8e z*F!um6VI-cY?Rc*_xD4ok739Gt)bq2Uk~vQPW%u{c|dQ(V>t0lEH9U6YGjI5MSOx2 z-@}yDkjG#UFU-W-E9Ai7K?#UoapJ#NS`YLB@jy;I9YYTE4)zc6NlttpQ#?2r>%EW@ zZ^w{>Rs}i4FFEmlOrcRZ#3MQJd<;2YZOB7>hZ7&gkOQ*;W)W}X#OpESNc)udH7EX) zAxA2~FUNwpkyXR@fyCFcyc`Z~T!D!9bK+$g&~Wkv*@%C1;)j{)1+WoV4Wu5_iKk|i zS~5zAk9Fe98Fh7lcq9#F5I^d~Uo(Y9X@_`RC!U?D914y2W+y(Nr97sl z4C1Ywc!j2ebSIvpQEHrCtQo}jJMl3MInq8Q-r0m55b;e8Lcac2-O;}jY->L&`>(b2H)BYwwW4v~N{B4Nu7yYM99fgE_G?J0sB z=>MtAqRCp{GUUP zw6{k|c~=(O1*oomx@r!laT!MBE(7+Uuh|hLP0uyK`qXKfU=ZJTA$bm6}QiroetWX|1jQD$p z97xBUU##e+pft#tIe) zIgZi7Amb>uIGnl=b421Wt~fj<$Tn0E!w(V0v4kSyP=PRv!xD)@x=FlT)Za^sN+DT1 zc96)JIOOOi^~m8Ui01GobE2a;JTBijSilzx*}-B_xL6!5vNbjqa>BSGu`tev9~~7T zGJ=|n>qRnVQIfH+%gl_#VUuMs{kj@}sIL-m;8_uIr2ohV{%M8`L}?*FkX})8m>|C+ zq;NyH;y4zyJ_wB^5nCk21P)&;3Km2~vH2k!VX#0H#RU;UxnZH0AHofV;fi`@#d3rq zu7DrSixI-P>10R}a-&&nzKAR4OcJxG=b|7kpG6*aWQ$8mfxP6BMLmNzqPT{-fV1I- zMLlUX#tXK@K{kw8ec_4U6gebMjz(f(3_lo~%HsxesCHos`C+Vy+z@fNEX~&|0+nBX z0~NrEjTNAdSYSDvNit9x3IR&P4U1Y@8)+C_P^k<=Zm^C_qY8q@rZkkAdM7v{A8>B|K8#)TxT;FRAc28+hB#z^8 zL}1HcwT*WItr&pPxxhMMR&7KiT8+q#{Vu5=ghGWtHv|iKu-3y6gYhIw<3E)Hu%GTJ zVJO>@B=gx(92vdWP^caVIas)kS~Sw6e~bamwtF{B&uacqD8n?rLs1~69kpjaLcbL#= zFl8G{S8v(t3-zxU0ZCGrWd#nTDBIx)V_3m#=rn2Sq65~cO1tDxvIMha+AvR(SKQEEU{nMHW%98e3G&?ww4Z9QUSy}Sa zieVFIw>W?#)=BmvEOv}IoFx`Sa`^R0F+!dUczQ8_r{6ZLTC(_qkt-NX5tnQ*q7Z5n z!{(14f}=E=Y9CB;QBkx5~F$SVAxnwb#TNJ1;R+9U^Xk1%i~CjvEX3}P6K|w1Ev>)O6j+tQ239U zXrhGzv4F*c?XwK1hC%?;a6|QCV=L7!n}ACAxlw>6-JgfS)}8|!Ay%j?6Qz{`Fxnl= z4S3MkNPquM;q{85_X4G^#t`A$7X=ZBS@`ltG8Z_CxbXPH5ebChF(TNLIf^Dnv4z2t z*^$PmZI+lD1)F=ErK!CyPaueliEg;ZbqhB1A<*MdupJkPz$`@30=|d?4^L675Vn}j z;_z{&2#;1`T!}gCC?N#dQ1Lpc`m|mpo2uk^zXWNF(2G)j~CM^>GvK)Z;R~jg#@h#{t z%o4DEk=n4Mh~mOyY`qc7XyMNV0ruwvYM<2Dfc)1u0+@fLv8dB}Q)&`(6vst#M3Rw7 z6=cDt3XWd5!PG<~*-ka2@nH;7kK8QT%lc2{K!%_0o3#7+x$*zj26Yh!on+#aA&rb)`aLY3u*u#4 zG+2gY76z<;CN=CAWr_EzDV_*M&G!vw2O%6#JZuqh1HtD6%UXf|Sricenbf4c*gsb! zz=5Lza5^j5A>m_(^x$3gL6Ni&uuHF~zH4kql6N7%MlPEqwd9)wlodVgl{we10$HyahS}g~e zOuZbyR)0+`1AVc!AlwbXONeMZwvhRB@{f`L_m7kYRR^(oxDg0p!I`a01^iqPA%Eg* zQUl2=E8r%Vlq8LfNG@OU5{%-LTvGK>YLTH(S|0-|?T+GZtPAVUSCN;TwF0N~oJdB! zv_o3prQLz~nZp2s&g4c#3xr}gH{poFsncHSi43igg=-JB{shB=nyi_izBE))e+{Fr z@#BYv8Yxyd$dNn{QZLU?JjWn*5Qhh%!_i}?5RRg#xn9D?iRJKFK^!r>NnlYg#^7j= z&k@0iYzRzWyqGAytlj#*%7O&{N&_w9+b!8cOr}VHDl;GKuJJP@^4br;$R*YP)PovK zmTdgqj4P5gZ_r8s3hjb$Hx`iAEF?jaDkcZiNSz-)}>IE(qX1C%_zrr{uD`le}94ZgSbA zJ^il)2aI1OQ^TIpmyEX14ut`Rb_denW>|JBBqzDBisR`q@c(oV_1l2iH3b2Wf9u)n z&w?A{mD)?a83024wZvK^+gr)#4(ITqVGPH@))gKg;n15K0;fUTP9^3A(rH}sf{hg=2#KK{g{dbuJkFM3 zBIJ1wivckGwn^>(sZId+>7FuD%FKe{pGV-!J6WAjUj|_6uc38#hSHdwNna@6U0%1gx|>n1UN` ztK@|{GV;Ydp#{_kr)7=J0u66dBp(1{S5R9BYE6QF_k!;?B~vXoG){)5CFOs9=K`|) zDj8aXJt4c(e=h`}{yr0yiN+1;H*c{47_<+sia%gG?{|D9Q?=6.9.0'} - dependencies: - '@babel/highlight': 7.22.5 - dev: true - - /@babel/helper-validator-identifier@7.22.5: - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/highlight@7.22.5: - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - dev: true - - /@openzeppelin/contracts@4.9.2: - resolution: {integrity: sha512-mO+y6JaqXjWeMh9glYVzVu8HYPGknAAnWyxTRhGeckOruyXQMNnlcW6w/Dx9ftLeIQk6N+ZJFuVmTwF7lEIFrg==} - dev: false - - /@pnpm/config.env-replace@1.1.0: - resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} - engines: {node: '>=12.22.0'} - dev: true - - /@pnpm/network.ca-file@1.0.2: - resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} - engines: {node: '>=12.22.0'} - dependencies: - graceful-fs: 4.2.10 - dev: true - - /@pnpm/npm-conf@2.2.2: - resolution: {integrity: sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==} - engines: {node: '>=12'} - dependencies: - '@pnpm/config.env-replace': 1.1.0 - '@pnpm/network.ca-file': 1.0.2 - config-chain: 1.1.13 - dev: true - - /@prb/math@4.0.2: - resolution: {integrity: sha512-kJgqvXR6iyU7+N959RzggSFhBdnRuSDnc/bs8u6MzdWw7aYIUaAr+uMVdpP6Dheypjerd7sfJgFOs19FRFhscg==} - dev: false - - /@prb/test@0.6.4: - resolution: {integrity: sha512-P0tTMsB6XQ0Wp61EYdXJYFhsOVGyZvcOFub2y9yk0sF+GYDusctR7DzEI+vOP0SILm3knFkEJASjewHEBppdRQ==} - dev: true - - /@sindresorhus/is@5.6.0: - resolution: {integrity: sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==} - engines: {node: '>=14.16'} - dev: true - - /@solidity-parser/parser@0.16.0: - resolution: {integrity: sha512-ESipEcHyRHg4Np4SqBCfcXwyxxna1DgFVz69bgpLV8vzl/NP1DtcKsJ4dJZXWQhY/Z4J2LeKBiOkOVZn9ct33Q==} - dependencies: - antlr4ts: 0.5.0-alpha.4 - dev: true - - /@szmarczak/http-timer@5.0.1: - resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} - engines: {node: '>=14.16'} - dependencies: - defer-to-connect: 2.0.1 - dev: true - - /@types/http-cache-semantics@4.0.4: - resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} - dev: true - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /antlr4@4.13.0: - resolution: {integrity: sha512-zooUbt+UscjnWyOrsuY/tVFL4rwrAGwOivpQmvmUDE22hy/lUA467Rc1rcixyRwcRUIXFYBwv7+dClDSHdmmew==} - engines: {node: '>=16'} - dev: true - - /antlr4ts@0.5.0-alpha.4: - resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /ast-parents@0.0.1: - resolution: {integrity: sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA==} - dev: true - - /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /cacheable-lookup@7.0.0: - resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} - engines: {node: '>=14.16'} - dev: true - - /cacheable-request@10.2.14: - resolution: {integrity: sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==} - engines: {node: '>=14.16'} - dependencies: - '@types/http-cache-semantics': 4.0.4 - get-stream: 6.0.1 - http-cache-semantics: 4.1.1 - keyv: 4.5.4 - mimic-response: 4.0.0 - normalize-url: 8.0.0 - responselike: 3.0.0 - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - dev: true - - /config-chain@1.1.13: - resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - dependencies: - ini: 1.3.8 - proto-list: 1.2.4 - dev: true - - /cosmiconfig@8.2.0: - resolution: {integrity: sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==} - engines: {node: '>=14'} - dependencies: - import-fresh: 3.3.0 - js-yaml: 4.1.0 - parse-json: 5.2.0 - path-type: 4.0.0 - dev: true - - /decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - dependencies: - mimic-response: 3.1.0 - dev: true - - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true - - /defer-to-connect@2.0.1: - resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} - engines: {node: '>=10'} - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /form-data-encoder@2.1.4: - resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} - engines: {node: '>= 14.17'} - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /got@12.6.1: - resolution: {integrity: sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==} - engines: {node: '>=14.16'} - dependencies: - '@sindresorhus/is': 5.6.0 - '@szmarczak/http-timer': 5.0.1 - cacheable-lookup: 7.0.0 - cacheable-request: 10.2.14 - decompress-response: 6.0.0 - form-data-encoder: 2.1.4 - get-stream: 6.0.1 - http2-wrapper: 2.2.1 - lowercase-keys: 3.0.0 - p-cancelable: 3.0.0 - responselike: 3.0.0 - dev: true - - /graceful-fs@4.2.10: - resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} - dev: true - - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - dev: true - - /http2-wrapper@2.2.1: - resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} - engines: {node: '>=10.19.0'} - dependencies: - quick-lru: 5.1.1 - resolve-alpn: 1.2.1 - dev: true - - /ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - dev: true - - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true - - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /latest-version@7.0.0: - resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} - engines: {node: '>=14.16'} - dependencies: - package-json: 8.1.1 - dev: true - - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - - /lodash.truncate@4.4.2: - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - dev: true - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - - /lowercase-keys@3.0.0: - resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - - /mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - dev: true - - /mimic-response@4.0.0: - resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - - /normalize-url@8.0.0: - resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} - engines: {node: '>=14.16'} - dev: true - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - dev: true - - /p-cancelable@3.0.0: - resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} - engines: {node: '>=12.20'} - dev: true - - /package-json@8.1.1: - resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} - engines: {node: '>=14.16'} - dependencies: - got: 12.6.1 - registry-auth-token: 5.0.2 - registry-url: 6.0.1 - semver: 7.5.4 - dev: true - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.22.5 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true - - /prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - dev: true - - /proto-list@1.2.4: - resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} - dev: true - - /punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - dev: true - - /quick-lru@5.1.1: - resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} - engines: {node: '>=10'} - dev: true - - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: true - - /registry-auth-token@5.0.2: - resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} - engines: {node: '>=14'} - dependencies: - '@pnpm/npm-conf': 2.2.2 - dev: true - - /registry-url@6.0.1: - resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} - engines: {node: '>=12'} - dependencies: - rc: 1.2.8 - dev: true - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true - - /resolve-alpn@1.2.1: - resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} - dev: true - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /responselike@3.0.0: - resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} - engines: {node: '>=14.16'} - dependencies: - lowercase-keys: 3.0.0 - dev: true - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - astral-regex: 2.0.0 - is-fullwidth-code-point: 3.0.0 - dev: true - - /solady@0.0.129: - resolution: {integrity: sha512-2i+8lsLLT7nAED+A9C+ZLi8YmpSnUNKGKozkesN2Qm3P3iMvorXAsD5LyT1MAC3eyVfhY3PuvBkvgd31nUzkoQ==} - dev: true - - /solhint@4.0.0: - resolution: {integrity: sha512-bFViMcFvhqVd/HK3Roo7xZXX5nbujS7Bxeg5vnZc9QvH0yCWCrQ38Yrn1pbAY9tlKROc6wFr+rK1mxYgYrjZgA==} - hasBin: true - dependencies: - '@solidity-parser/parser': 0.16.0 - ajv: 6.12.6 - antlr4: 4.13.0 - ast-parents: 0.0.1 - chalk: 4.1.2 - commander: 10.0.1 - cosmiconfig: 8.2.0 - fast-diff: 1.3.0 - glob: 8.1.0 - ignore: 5.2.4 - js-yaml: 4.1.0 - latest-version: 7.0.0 - lodash: 4.17.21 - pluralize: 8.0.0 - semver: 7.5.4 - strip-ansi: 6.0.1 - table: 6.8.1 - text-table: 0.2.0 - optionalDependencies: - prettier: 2.8.8 - dev: true - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: true - - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /table@6.8.1: - resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} - engines: {node: '>=10.0.0'} - dependencies: - ajv: 8.12.0 - lodash.truncate: 4.4.2 - slice-ansi: 4.0.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.0 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - - github.com/foundry-rs/forge-std/e8a047e3f40f13fa37af6fe14e6e06283d9a060e: - resolution: {tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/e8a047e3f40f13fa37af6fe14e6e06283d9a060e} - name: forge-std - version: 1.5.6 - dev: true - - github.com/sablier-labs/solarray/6bf10cb: - resolution: {tarball: https://codeload.github.com/sablier-labs/solarray/tar.gz/6bf10cb} - name: solarray - version: 1.0.0 - dev: true diff --git a/shell/prepare-artifacts.sh b/shell/prepare-artifacts.sh index 06ab4fe97..22b5892e9 100755 --- a/shell/prepare-artifacts.sh +++ b/shell/prepare-artifacts.sh @@ -2,7 +2,7 @@ # Pre-requisites: # - foundry (https://getfoundry.sh) -# - pnpm (https://pnpm.io) +# - bun (https://bun.sh) # Strict mode: https://gist.github.com/vncsna/64825d5609c146e80de8b1fd623011ca set -euo pipefail @@ -50,4 +50,4 @@ libraries=./artifacts/libraries cp out-optimized/Errors.sol/Errors.json $libraries # Format the artifacts with Prettier -pnpm prettier --write ./artifacts +bun prettier --write ./artifacts From cb52a534afcfd729f561a8f2171d581c704ea174 Mon Sep 17 00:00:00 2001 From: Paul Razvan Berg Date: Mon, 1 Jan 2024 11:47:11 +0200 Subject: [PATCH 3/3] docs: add more context in contributing guide --- CONTRIBUTING.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 395fb63da..28a40f2df 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -26,14 +26,21 @@ Clone this repository including submodules: $ git clone --recurse-submodules -j8 git@github.com:sablier-labs/v2-core.git ``` -Then, inside the project's directory, run this to install the Node.js dependencies: +Then, inside the project's directory, run this to install the Node.js dependencies and build the contracts: ```shell $ bun install +$ bun run build ``` Now you can start making changes. +To see a list of all available scripts: + +```shell +$ bun run +``` + ## Pull Requests When making a pull request, ensure that: