From 1659f5026b71d80ea7037719892704134aae7148 Mon Sep 17 00:00:00 2001 From: Eric Lau Date: Tue, 19 Nov 2024 16:25:19 -0500 Subject: [PATCH] Sort imports by name --- packages/core/src/custom.test.ts.md | 2 +- packages/core/src/custom.test.ts.snap | Bin 826 -> 827 bytes packages/core/src/erc1155.test.ts.md | 26 +++---- packages/core/src/erc1155.test.ts.snap | Bin 1788 -> 1784 bytes packages/core/src/erc20.test.ts.md | 32 ++++---- packages/core/src/erc20.test.ts.snap | Bin 1945 -> 1960 bytes packages/core/src/erc721.test.ts.md | 30 ++++---- packages/core/src/erc721.test.ts.snap | Bin 2137 -> 2140 bytes packages/core/src/governor.test.ts.md | 84 ++++++++++----------- packages/core/src/governor.test.ts.snap | Bin 2433 -> 2428 bytes packages/core/src/print.ts | 7 ++ packages/core/src/stablecoin.test.ts.md | 20 ++--- packages/core/src/stablecoin.test.ts.snap | Bin 1659 -> 1670 bytes packages/core/src/zip-foundry.test.ts.md | 10 +-- packages/core/src/zip-foundry.test.ts.snap | Bin 3459 -> 3459 bytes packages/core/src/zip-hardhat.test.ts.md | 4 +- packages/core/src/zip-hardhat.test.ts.snap | Bin 2282 -> 2285 bytes 17 files changed, 111 insertions(+), 104 deletions(-) diff --git a/packages/core/src/custom.test.ts.md b/packages/core/src/custom.test.ts.md index a3291ee1..24d1c542 100644 --- a/packages/core/src/custom.test.ts.md +++ b/packages/core/src/custom.test.ts.md @@ -24,8 +24,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {Pausable} from "@openzeppelin/contracts/utils/Pausable.sol";␊ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ + import {Pausable} from "@openzeppelin/contracts/utils/Pausable.sol";␊ ␊ contract MyContract is Pausable, Ownable {␊ constructor(address initialOwner) Ownable(initialOwner) {}␊ diff --git a/packages/core/src/custom.test.ts.snap b/packages/core/src/custom.test.ts.snap index 5f5f25e19fd8eb888e75bd01d29daa78bb273ae0..a1cf4e67d979c887d4540d92334ae4a828e1dc5c 100644 GIT binary patch delta 769 zcmV+c1OEKF2D=6_K~_N^Q*L2!b7*gLAa*kf0|4_i@p@9;`9+6|kd$KvRX<`=o4X)K za{7=Y@e6%uaVU{8NPkT%MX|V-v)}ps&U|yO`#mPS&-&XBG}JKcd!aTWpqdk@hr;MD z*S=2-IsLxA_F`@Jm7cG?eD-zCb>aAM|Fn8QJ>(jzO&__TeTr%aTFn#3bzx5gk{H@! z2qS8S(3Z$QqLj!ehdsfKBA(H3{-(B7+j68LgMfe*jQZ4!;eULq_O`aYU3VNWfkJDX zTEW!0a*~vXl7yP{7|tbqR{CXS{j+qBS<^rYWnkJK@mX?L&{raWja?y;PZED_TAFr= z=b_eag05-7HtLy=!=%DxPC`SOc2jiXWMTiPh7`65Nl=(N005rg+NjVoLY0Z{E7Te& zr-l;N9&uEa6n|f~Pp4N-WZw_DXQ<#X;|0qVkYSHe4+Ll92%5y1ecc38k4}mXLcWTN z43#>`CSw%Jfg(Oe#TiAomPE}6pC1%s4GKQQpfuxd(#Z-;S96uQQi;oP!oB5W$pBc` zq@%9u!fvbqJ7SWC(bbS^(#I-cOpNjqGB+`mJT*RzCVwmogi0@? znnFvJV7NfCOQ%*tn-9^@MwIDZoal;ewQQC&*TVjx#Xj~)$V|fzD7OS@pa?fdf?;|8 z-TOx8;H2BwZ#6%3kJ<E zNP=BH^o>|j&A4J)mgoQHufS!sxU$4uT2(Ng_L--B=4qd~w|(X}iO5y?1T1`~ delta 768 zcmV+b1ONQH2D%0^K~_N^Q*L2!b7*gLAa*kf0|3c3jaV+3JC!ON_Wy)g+4jm8cLA{E zdZp}JrirtvXg-lLNPjh!*3jZ!&VJ|j`{vBK?)RARKI$*u&``s$?}gfkfND;p9txvB zUHd*Up-eS?PzB_4m>PW=#Vrl!57ClHC>bl?Y&CS4iZO#G#wkrrpp` zrri`>(}Hc(Gbim4U&aUVJk;7v(20+Q{i7PvP@9n8Vd?+?c!F!ALeB_QCcdvwYoMGO zN?3cuQB_iW*?&HrUOAC{KjfaFg2Rj#ELT8=Jw`ncoQ)%B5@+^x6HGliDLM%GGA=Sy z>LgRfD3k+5e2j`Sif}E7nh`!P6k`bmS0R*U+)X-Jg6V3mGFK{bIZpIrIk`gs7B=aq z>$l`tkod47M^DEe98c8bnOXf*0VWRl|!_ya0dWmH%UJd)87@ zXsHqm7mV!EsnyWtDjM2|GTn<4U9zo~%^l6Pu)k=rk9`s{)9?ezt${R9gqtJ5u)P1~ zZKHE=(rxUwn(w+t?SnU)w%OdXS(J7_I2kOsokeG*rp3h0>X>N7DK5!GT##}t+oc#u yuy>2T5sy?euGp64`TzMVa9J&`EOD2X9hi^%%;P@uxX(P;KJyd9PG&9T5C8yyC4VRY diff --git a/packages/core/src/erc1155.test.ts.md b/packages/core/src/erc1155.test.ts.md index fe69331b..1e1a7a79 100644 --- a/packages/core/src/erc1155.test.ts.md +++ b/packages/core/src/erc1155.test.ts.md @@ -35,8 +35,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyToken is ERC1155, AccessControl {␊ bytes32 public constant URI_SETTER_ROLE = keccak256("URI_SETTER_ROLE");␊ @@ -72,8 +72,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyToken is ERC1155, AccessManaged {␊ constructor(address initialAuthority)␊ @@ -113,8 +113,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC1155Burnable} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyToken is ERC1155, Ownable, ERC1155Burnable {␊ constructor(address initialOwner)␊ @@ -137,8 +137,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC1155Pausable} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyToken is ERC1155, Ownable, ERC1155Pausable {␊ constructor(address initialOwner)␊ @@ -214,8 +214,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyToken is ERC1155, AccessControl {␊ bytes32 public constant URI_SETTER_ROLE = keccak256("URI_SETTER_ROLE");␊ @@ -267,8 +267,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";␊ + import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ ␊ contract MyToken is ERC1155, AccessManaged {␊ constructor(address initialAuthority)␊ @@ -305,8 +305,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC1155Supply} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyToken is ERC1155, Ownable, ERC1155Supply {␊ constructor(address initialOwner)␊ @@ -337,10 +337,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {AccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";␊ - import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ + import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {ERC1155BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol";␊ + import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ ␊ contract MyToken is Initializable, ERC1155Upgradeable, AccessControlUpgradeable, ERC1155PausableUpgradeable, ERC1155BurnableUpgradeable {␊ @@ -420,10 +420,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {AccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";␊ - import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ + import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {ERC1155BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol";␊ + import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ @@ -513,10 +513,10 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";␊ - import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ + import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ import {ERC1155BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155BurnableUpgradeable.sol";␊ + import {ERC1155PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/extensions/ERC1155PausableUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ diff --git a/packages/core/src/erc1155.test.ts.snap b/packages/core/src/erc1155.test.ts.snap index 1b52fa93e3998992b00dec6a09454835631f3128..609422e60bd334f6beea165981e3fefea2aa38ce 100644 GIT binary patch delta 1752 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 y@S=FTG=g2|3p@#qDi?G@ ze}-*`1++vbL?lursU%L8L(jYI8+6}cz;3$?*lobR!R`Zg*=@jpK@#odSx~^QXTHCA zWx1Ljm$X*F$!Y1d zBt1p~UxBvA2yEL(|iRbu3yn^PSl z>vEpw@}iV6h8T%tuN@8)+0Zl*=Z5S(F!;#%)PNj#R=`2aVu*8q2^JXIYlj4}YS7F7 z^a#edT`H;c8J!E+p!wvq6#U=uh$%27LC~T~6}Vp8#wMV|?grAN$^K_Y_L&d9$qMku zAR^*kiV(v9TYCs}sBP0jOm<_b96*KuJwS|M3vs~EYY#JIfp!;c${25C4B7Eq3knp! zS>Mey5IqT610E(~?$Kj#0BsK?uL~1_7=d>DMWnZ)^RRr6acAzih&3YRp;BL2s3e+h zj1@;8s$dZ=ZbogyHMsGcf*U{Ix&qu-2-ZU|klF(-9%YPfiC;$?8UjO<_oqXWc2^+& z$y~JL0$_nefc1s#&E<`qjkVQf@C@uD(}eqTj~-XbsfKcOzSI+rEYyLXEfy>XlVtG( zYj+5E>IXmxChRgu#0IrdWoh}v!uIOc&cae_)ban983QZgk{=x|{Lm6AZ;D|6N-`|i4)q*GX zD8r&VIBF^CDrd+UExlrh3x-XBtkK~{FQdR1i7|&NVeiMvUMuj@z6yAmBIZ6_Ff$g` zm#r=oB(NZXgJ2YuX%It>uUC`$%>1fg(@)b~Rh;5da1y<~t11rPZE!>^#A@JSv)Kgq z!NVrFe;-)L#16E1rJ8p)Q``+`2NcEs$@O@?uX=0=3eaP)3BTGhb}vyLW_yND<1o0%Fk#o zXDbg{zVu(SGLm0WVxBG46WHcP*mt;Kk`ICE3ks~MW3R#FN29K)og{ETY$jEc zq7Y-_#{-NGd)O7ZCUj^bfg#~B!a+q&H*0g)E=`xlghuqti-J`T9)RFJ7V(@mVg&{i z7*JrqHNb#F6#@iy5EsyKHAez}Dgf}ubRP*605B#1h!=(F?=DFd+z!m;{vC=B1 zH-mlQPqc-}xzI2cGC3SsKE#$?G-p04%RupL8+h(6gBA+Pi-JMIUC59wcJ5?O*6&<( zeQ`Un{0tA(QtKiB|Hnk$HVG$89nOC{7n&}%>zfASUNq-&q0f;iY*dSQ$sVi zJ@PG@V9C_>HDj_4PG=+euXRh}f-VF1lQGmegJBrpx#@91ou~9Tatg0|gu@Q1Lq8Wx zZ%vx5Dpi7)*=_6_#CWgkCphji&_(9n=N*Y4md@8wR_z4d*zr5&chvc8zbItF{`vMO za5U{o`1Bkf1X0GCe77K`ddY|*EADV{CpW#XXant)in+d5D!{16LKAuadwhph)5FLH zgjOw3P9B3(Y|d>+ms9S(*CSu|JXdq*b@u}$QNMk+NYsl&y-3uHME&X$^+?6`_WI_C z3evO4hmW*7I>H?T?uYZdGurf?E~bYLd8B9-1znTTK!b$^F3s4XL<7 uLLuD~w&!e}K!PzO1DLSC{4jJ@t`|PeR6Mbu$iA;}_WeI)T-fq7RR91xF{tAJ literal 1945 zcmV;K2WI#|RzVzHK%hH(IU5QVCl&WdfY8ZY{T( zXQ0cd1p|n%C9;x524dUX(#L5wozE1PUDsL^!5|YYBt^yA+NA z?f#BC2w)DpZZ(kT4Ngk{0H9OC1#@&kS*7Z?SIWV_at)N*J1@%B&FfN({BtAMF|rw~ z^ITpGFjDv%y|JPX>N?_F3wqB(oQ3PDfxxIy0S66(AP=mJyX1ud#nf$elmtOH8SzK0f=?EdTpeHOjnqyZc<4n)*T z0?{xP@w3^x~{K* z@ROi5;9w$J4f?-`CV|uz#V-y?{a7<4Y?88*qD~Vn@`KFhdEB8Y6jjS#dBCrsF<8TxW z(jbN`cV0#6v+%3LO+V$ks+i+aa2&m^t11@XZ*W8m#A@I{v)Kgqz=I~ZcMljy#}+hs zr8?+tCb=8XE+~rs^Xu`!!mjHzbqaC)wd6E*J+Ds7;}M**L)POD)ky>`>JTyf==27= zgM!YPb;U4Nht?HuJdwioes1q0@?Q6wy3p5Nd%2@5^d%amDD-*h$lMkB5^Ji3CaUw$ zN%mM8dhoCxw%^R)O!wAaoaT8r%@2K-9Z{j=#NQ>4{gPWwoQ20E>@VF1cphjEAcg#r z5`8qPBe2Oezwczh6nyZezM#O$oqF{aKb>@y?IfN9A~UI+6!{z*eLTXbmtj}v8sDKY z0z<-Kgo8@3+_cSpdtiECjBi9{UgYh1a36T@V-d&dAXacd!2tyaTmcT~$rK>4g}8v0 zt+*2SQzC#r@_i*x5Wpo7K(r}z_jHM?;BMGQ;Vwt?r;n?H!R$9wyfdm1h3P=KoKy1v z6Hzy?SB$O`bS&y7Cdf0SPN0SA7CuIX4mpwyTwdQ;ezDiySXqs&w4DS=#a6nvjAS2J z$fB&TFt%(_13itbEa$eUe-$Y)xPj=JkRP~OSD|44lc@0TLcwNH;dA#PwlO&ud;~HT zqeY`HS~DM)gFtai6FBxhg9h@-i-JMIZOD)+c5bI`)^ES9*x8LO9^ssNVsV2ZmB1Nx z_kID>WnIaSupqpcoPh-j=wVgZDJ@VHXGg8si`-ePI1QYc0L@_XG_Ep5nsVM`<}_k? z5u?mti7M=r4Qu{&3qF~2UYpV5ey~spWEihX9Ro^D*p_$)(FV#_Dq2HdsQ}Yn3(e*G-@JI=dxI-$G-yLa^>L^8cEe?!A$7Jc4Sc5?St9d6O z(MEF<)LXM`6IqA|==L3^KSE<9Ps9Vlyx!lAg_gQXTI%B=S}OZn%eOz1G?i9dep~@f z6?|*>e40x6mFz-W722xMR%2+Z!TmCOZ8c9)WZ(}LC`83u6cmAb{PqD`=TKlwr~u~d fFF#D2m8-!oGZl|5D6;P>oPGZfEqmk#G*tiq9UGrh diff --git a/packages/core/src/erc721.test.ts.md b/packages/core/src/erc721.test.ts.md index 4c986927..0e4a6e4a 100644 --- a/packages/core/src/erc721.test.ts.md +++ b/packages/core/src/erc721.test.ts.md @@ -237,8 +237,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ - import {ERC721URIStorage} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";␊ import {ERC721Burnable} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol";␊ + import {ERC721URIStorage} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";␊ ␊ contract MyToken is ERC721, ERC721URIStorage, ERC721Burnable {␊ constructor() ERC721("MyToken", "MTK") {}␊ @@ -334,8 +334,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ + import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ ␊ contract MyToken is ERC721, AccessControl {␊ bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");␊ @@ -370,8 +370,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";␊ + import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ ␊ contract MyToken is ERC721, AccessManaged {␊ constructor(address initialAuthority)␊ @@ -419,8 +419,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {ERC721Votes} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol";␊ ␊ contract MyToken is ERC721, EIP712, ERC721Votes {␊ @@ -453,8 +453,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {ERC721Votes} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol";␊ ␊ contract MyToken is ERC721, EIP712, ERC721Votes {␊ @@ -487,8 +487,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {EIP712} from "@openzeppelin/contracts/utils/cryptography/EIP712.sol";␊ + import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol";␊ import {ERC721Votes} from "@openzeppelin/contracts/token/ERC721/extensions/ERC721Votes.sol";␊ ␊ contract MyToken is ERC721, EIP712, ERC721Votes {␊ @@ -530,14 +530,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";␊ import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";␊ + import {ERC721BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";␊ import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol";␊ import {ERC721PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol";␊ - import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ - import {ERC721BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";␊ - import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";␊ import {ERC721VotesUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721VotesUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721PausableUpgradeable, OwnableUpgradeable, ERC721BurnableUpgradeable, EIP712Upgradeable, ERC721VotesUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow constructor␊ @@ -603,14 +603,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";␊ import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";␊ + import {ERC721BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";␊ import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol";␊ import {ERC721PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol";␊ - import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ - import {ERC721BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";␊ - import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";␊ import {ERC721VotesUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721VotesUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC721Upgradeable, ERC721EnumerableUpgradeable, ERC721PausableUpgradeable, OwnableUpgradeable, ERC721BurnableUpgradeable, EIP712Upgradeable, ERC721VotesUpgradeable, UUPSUpgradeable {␊ @@ -684,12 +684,12 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";␊ + import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";␊ import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";␊ + import {ERC721BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";␊ import {ERC721EnumerableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721EnumerableUpgradeable.sol";␊ import {ERC721PausableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721PausableUpgradeable.sol";␊ - import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";␊ - import {ERC721BurnableUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721BurnableUpgradeable.sol";␊ - import {EIP712Upgradeable} from "@openzeppelin/contracts-upgradeable/utils/cryptography/EIP712Upgradeable.sol";␊ import {ERC721VotesUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/extensions/ERC721VotesUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ diff --git a/packages/core/src/erc721.test.ts.snap b/packages/core/src/erc721.test.ts.snap index fd6cdcf75d0493996322ceb4064c8eff671f2446..130d22e5752dfb28647944c927148056e3e26fbc 100644 GIT binary patch literal 2140 zcmV-i2&4BwRzV^hk^>3P-WM7enCgqLc6?Ibn!N$T$fsprqj+fe!6^XLs!Q5hr%oG*PlM z-($Y-_q}%Zt8T}n`Vs%^Yb3BR5$ZsWb<7F0d5;SI$ybH}1^i&?`Q>X*Uvqz!p1StJ z^`#|E0}uAL-mmOn9TAQy4FeH@yBM)MpxI~@G!1N0%Z37XOaxA_=z(1ukq?n=BNG#_ zNr_-k7aV-FUcFhpS+E&Av>@Qr#0D09@X^ict!k~dQ7B-`rc8jx+xwfZ*VdkZE~6GG zzCmq79tGqyJtU_IdW4APuMK`xIW>zLg+jOpH2W=g6~G+$E5PFd008KeaKRj1P*z$A z9+is0>S7rbo2|EtE8y{y!jnR9V7(6H2sjKY&g>WI%zpU4pP9G3>kwUFN+5F^k8w!;vh$A~d(Ai$7t7~!DA1;gYJSjeKRzY_3ufBY4o*b~C$cQow~3UmVd zRT~p1U{yD%V`$j!a_wD9-@DyAWn^=$wO()SSr2O*-beN3THn6^{_T6D&QCUtH}Bnk zYxCosx>nrqcqHunF(QtI80?rRYv~)SlBHj~v4EDA>1;>Zjztlj3Pd=jgllO!XFF6G zr1wnbVwwh8Jp{VcH0g=!IHAvR02BVj0YeWR%#Z;(eefVS*=pKN9ov8cm7rlT#5oYO z3>-{EZT&UisopTkAbbcN(OZeUGj!|dA0g+`AbnR-p3OnX*ME}neD2tYRYMtF*4b^S5aj3{G$GMr<)E%phX`N8wc0Ik3{3}3uTd;_AaF*2kg?BDEjD*-*F|~5 zm7)uERO<8v;;;H*x&LSwv8=Y!F|i)~d5qD?REFqKY7VtRR=lKKnSgTSFbue$3?3>X z%Cas+l-BaXN0fv8#sgp5=^{!@XY_~?@0o*$;;H8*zEl{Q%5`H66|O7i&tX0s$rj3V zNk|;3&Uqv8*uq43>1GuS1?7!zBv5|7_-TG-pbXjUo{&+B2&n6bb1hgs39!o`*sMT! znBFkK0z-56gdi6C)gbgo3j)HW?DkAi%V8HaF%iSd1qqL?%MHW|C1&5_mvZ-Z#3+&T z1JCxKBhgA>x$JS00G-FRs~p!(UseY;unN5T%R)pzQxWF=l)~K4d6=8uFc)IYX80Hi z1lk0h`p9n>8-;m`gxSCsfG7@h3Exk}5pY-1Zgq7d4~Ka;96cQNIu0Z1`OVU&Qp6LB zIH{BA+zWJ_F5ZPyMvqkCj>!kA$Dx_ds>YZ9l8pB2;i_?(ne01Qh*PznSy0RUtQKQHqqmYPJ&8~pFfHx1J z>1OucAx3l9ie}M#{TT_(|1NUzH8ZHq1GGjNZVgAxkTxyhD|TXR!KjJ2A_M#;`OJ@( zkpb$S5xtGn9MR&^9%Uw&$*cM@kQfIh@v4JYYN5qEr-DR)X5*dK_I`VRcV`>i1xHBN z;Zbe{An!wzlur4|ZDZ`c|{? zj>ozz(NA{y@velV<&g1!qG?>GPSal**}>00Ma;0`lN{y($~~3ODguSm2)1zCnT3s#LR(hT|n2F?kuL&sDo%a`vYC;ReJ8ra6(>ua^Me8Umg}4p&&juo6SUmH02cghCkN8kH+O{GkV$&yj>!q9tusU zn>;JZs-aBVk~q<2f_QKC`y0hWh2^3_lw!HU?Zdi3u{v#(AkJ!<2HwyeE~s^fJ_-+l zR~+Kbe=5*ThRKpcQGz5Ul|g!sP6IJM=p{6c)~Ls2i3Kc7`w32MU#qseDqH<*WERE; z?{85o36Ec~ATWaeL=rPgCNztRk7t~$%xfx%J%dR^=ISEAMZGg!sM_pY5USgv^XfORe)H;g_$eM7>^+!}MN*Lz znX6S|mqALsyyi|XnfsdCf10vmUX`bcM(AIHc@zRA;!4m-!?I2PE{eN$SivZL37o91 zq`MD!FOc^Fc`q>DXVNbzn}K2X5TAQmY773kjJ80!Z#P{%qr9Ftq(;melDr|w8FScmdcySpWcvXc}7p literal 2137 zcmV-f2&VTzRzV~aZ zUj1Y`&L4{i00000000B+Tgz`7#~HUQ2ML%Sl6!y-h#V-0`(8Wyb-!m*^Nj!g&q!clBh-T&o0t>m@&Oh6w_jTp6!6z;@2uZ? z^Opa!_QtJuZ?CNx26%F`_eJdhn}~2!Ygvd0+{cJL0PR+%WEfzVIxZBrXCrWd#Q+?- zi2Me*F0wHJyOan9O~JvJ+x5HkyCs*wQwIW0ZERsN1Yh2*->WwoJEanKT*?G^zJI*? zQDf@`=riho^2gLg zTrkfRlvOsON0o9!U9N(1yYp#z13Z6GdQpltY|w)o0gqwLo_(+E+23FHJqyVD9x(-` z1a$q4J2`GuHUK69F#>JidJF-2ju^uh0t^X{5e_O`FicK?gB;3+8K)RpbI#xyO=-$>!wXT%fN1*8=pJo(fz?CBfDFj?Pll5dD`IcF>1EAhVJ7p?mr?; zez9wP^636AcfUGl8s(ipM(UiuLd0_rgFPFKp7fnf<)q)clf#o%`RvEm&cqR23Pd=j zgd15tlO3uGvTNpZF~b0z0Rnw$+w{VB9O-i$z?6S+z|d0*!~a%rnjsrkPo3J1{<+=O1F;xAthI?vUeln*&Il@;gb>1=bnpL zUFzuTmgwZ`BHcJ+6DB4@kfTS?hQv&agQiJ6B0>wd8u!3Cv^})AMTy>#!XpYu!J$CC z+T3$}7v(Kqi#{|_r8g9ae-NtW|D$Cky1HJ^#%BEIIYt)?9Yl{(d+aHUs+ZPlB%qvm z3axo%>i#&y;F zInIY;-K0)035jFPxo#w$JD7+d-E4xfpuF=J1(bitf0|z!D5aRg3o=a+0ZkKeZba1c z0J{pJ#Ttam^o9u*7}|#y1hK@gu0nrI5HYTdE*~jsIqai0CSrWKpy1JWxht_ki9HPD zW!$|R3rgku$g{)eNOUq-t_G46Ko@cCRgP|2!};DoIV^5dLASC z`OVtzl!zztIH^Vvv+vZnij;Qdgq`_q_&H#@3bHh(?bhk4(cN zrdnPBc>`}Anp!SrWqpX?6f0PB$kp$JjFB2(^`N{lX1ZXZKJ;wSv>Z&55ak3>XyBaRrdBDH%|^a z-R54q^;sags_;*D`N^u3rd28UilS*&r_S=^dSXBs7Q-15i6Ww+XS7&KVaRWpOc7f! zLrzJ*;~P8tzP+co*mj;>?1rk5Jk6kQVBnncI&@BjwtV@k;$(lybNRC0I{Ijy<-t~tZ=(e}@Ty!y zOBplo9kdwCJODG;1i_7I;yFFU3TPM5E})%zXg`(E7T7^tK*!bGiuhIm_TO@SE204Q zSYXFqZ2F--83p?-v*!B*-;+PMr};1;d{7AzMm_eek%0iG_5c%6vv4qtt@%Y~&Bg=; ziqr^nP|d-Y$TA^Es)D-*hr6G4+lPDmiI($zMd45jJ&d(1=X$bTgt{w2-Q|0I&$fZ* zo-$~mpo67E9ghp&;aSNf+C_P#B>w6J%Qs5~Le)Kb>zqG5{DgpXgYL*|%oVkRjf z-_I;X4GnYs{9sP$>R4ftsq!koQcTq_*Ji{ygj%@527^Wnj@EWgN8c0T~VAh3@dR$QF0evPn zg4aCa&wpyrPloA|LsNpJCY4cok9Pwxe$`889MkB>WhnwC(|$@)H?*qjQ;k+XJ0pb2 z#)nHZBy#&T1koXcPZTvr*~nwj$q5c;ROc<7#=(IpOjhb5z)ig~%~fr7Er{3SHSd+) ztXreEf5ktuoYu%2c-!cW6v3Y7Y6kUh|3|5Qe|o#9ev9h2sD6v;S6}@~0VgL%Pv$f% zEh59_)he;8AY)!pb7x6bzUB^}X3nvw$}>eH3@^bvlR$~35_HjWTsypr;?s^R7?m%9 z)76!7_o3(oie8}T1!nt9`sdnaVB9^#pS`KH1^+GDg4d@lQ0_S{)*NWBa~7>a(JJJ$ zRk+HJU%Q4Ox%RwLO@neiO6!m)oU8UheN?yWDQgGkgUT8N^BC|Zc? PXd(U&>%Cc%KUn|(;baGd diff --git a/packages/core/src/governor.test.ts.md b/packages/core/src/governor.test.ts.md index 7a47daeb..a01112d1 100644 --- a/packages/core/src/governor.test.ts.md +++ b/packages/core/src/governor.test.ts.md @@ -14,9 +14,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -111,9 +111,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -204,8 +204,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -294,8 +294,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -383,11 +383,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ - import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -499,9 +499,9 @@ Generated by [AVA](https://avajs.dev). import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ import {GovernorStorage} from "@openzeppelin/contracts/governance/extensions/GovernorStorage.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorStorage, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -600,9 +600,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -693,9 +693,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -786,8 +786,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -875,11 +875,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ - import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -990,9 +990,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1083,9 +1083,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1180,9 +1180,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1273,9 +1273,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockCompound, ICompoundTimelock} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {ICompoundTimelock, GovernorTimelockCompound} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockCompound {␊ constructor(IVotes _token, ICompoundTimelock _timelock)␊ @@ -1365,11 +1365,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ - import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1480,9 +1480,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1572,11 +1572,11 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ - import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorSettings} from "@openzeppelin/contracts/governance/extensions/GovernorSettings.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorSettings, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1687,9 +1687,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {Governor} from "@openzeppelin/contracts/governance/Governor.sol";␊ import {GovernorCountingSimple} from "@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol";␊ - import {IVotes, GovernorVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ + import {GovernorTimelockControl, TimelockController} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ + import {GovernorVotes, IVotes} from "@openzeppelin/contracts/governance/extensions/GovernorVotes.sol";␊ import {GovernorVotesQuorumFraction} from "@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol";␊ - import {TimelockController, GovernorTimelockControl} from "@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol";␊ ␊ contract MyGovernor is Governor, GovernorCountingSimple, GovernorVotes, GovernorVotesQuorumFraction, GovernorTimelockControl {␊ constructor(IVotes _token, TimelockController _timelock)␊ @@ -1780,9 +1780,9 @@ Generated by [AVA](https://avajs.dev). ␊ import {GovernorUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/GovernorUpgradeable.sol";␊ import {GovernorCountingSimpleUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorCountingSimpleUpgradeable.sol";␊ - import {IVotes, GovernorVotesUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorVotesUpgradeable.sol";␊ + import {GovernorTimelockControlUpgradeable, TimelockControllerUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorTimelockControlUpgradeable.sol";␊ + import {GovernorVotesUpgradeable, IVotes} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorVotesUpgradeable.sol";␊ import {GovernorVotesQuorumFractionUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorVotesQuorumFractionUpgradeable.sol";␊ - import {TimelockControllerUpgradeable, GovernorTimelockControlUpgradeable} from "@openzeppelin/contracts-upgradeable/governance/extensions/GovernorTimelockControlUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ diff --git a/packages/core/src/governor.test.ts.snap b/packages/core/src/governor.test.ts.snap index d9efb0e44579948b981fd64924a87acf578a82e8..07dc72ae0de31a73db04bbd6e8133a9e965c90bc 100644 GIT binary patch delta 2415 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 { + if (a.name < b.name) return -1; + if (a.name > b.name) return 1; + return 0; + }); + // Combine imports by path const pathMap = new Map(); for (const imp of imports) { diff --git a/packages/core/src/stablecoin.test.ts.md b/packages/core/src/stablecoin.test.ts.md index 20ad0158..da4c4d4d 100644 --- a/packages/core/src/stablecoin.test.ts.md +++ b/packages/core/src/stablecoin.test.ts.md @@ -47,8 +47,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Pausable, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -84,9 +84,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ - import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Pausable, AccessControl, ERC20Permit {␊ @@ -127,9 +127,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ - import {AccessManaged} from "@openzeppelin/contracts/access/manager/AccessManaged.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Pausable, AccessManaged, ERC20Permit {␊ @@ -169,8 +169,8 @@ Generated by [AVA](https://avajs.dev). import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Burnable, ERC20Pausable, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -241,8 +241,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -265,8 +265,8 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ - import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ + import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, AccessControl, ERC20Permit {␊ @@ -312,8 +312,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Custodian} from "@openzeppelin/community-contracts/contracts/token/ERC20/extensions/ERC20Custodian.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Custodian, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -347,8 +347,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Allowlist} from "@openzeppelin/community-contracts/contracts/token/ERC20/extensions/ERC20Allowlist.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Allowlist, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -393,8 +393,8 @@ Generated by [AVA](https://avajs.dev). ␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Blocklist} from "@openzeppelin/community-contracts/contracts/token/ERC20/extensions/ERC20Blocklist.sol";␊ - import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ + import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Blocklist, Ownable, ERC20Permit {␊ constructor(address initialOwner)␊ @@ -555,8 +555,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ - import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ import {ERC20FlashMint} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol";␊ + import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ ␊ contract MyStablecoin is ERC20, ERC20Permit, ERC20FlashMint {␊ constructor() ERC20("MyStablecoin", "MST") ERC20Permit("MyStablecoin") {}␊ diff --git a/packages/core/src/stablecoin.test.ts.snap b/packages/core/src/stablecoin.test.ts.snap index bbc71162a2e38b6d0e81c0e160232629952ce6f8..d7bbd19526a90570609e5035851fa5285a0ff5db 100644 GIT binary patch delta 1582 zcmV+}2GRNZ42BIdK~_N^Q*L2!b7*gLAa*kf0|0nM^;2mR%Ch!(J%_SeXU2W;Ia+X3 zfv7EdhQ(TQsY;PDS18?NH)#{6yN6beXTI~^yf+`uJo{Cz>u_sN{`3nfsvPvXL{bZ+ zB3+TO8GpZ-+c)ma{xH*Q!shzYSM^nDA(L2Nv5_g-qbMFjXJxC@Y{DXUJ)&sWK{%jl z7uGyv-=OEALm4b`rUbE+gl``-T8&o86J*CFAh|=d&W~C|s(>k-|fTOj6EdGo=t| zm*PIq>2I1z1S&zdtwE{_9F+h7EY747zNNURRKxp~a=Lf92IbD?R=Jw)JkX>HN5`e( zQWQm*#1Fc@V8O-7K+e9K3FN=U4&;-_&+~*b*0?f>5*u_0dE*gZ=I70=JDI$hy;bPE zS$~iGJXd5RjW>`tvG&@*nX;W&7E0NST8{^*$f+7cy-!O*V%q|x1j?wQ#92FFD5|`X=M|_A9$FUJn|tuEQcm3{SLaJZ5oKeK_>OAZE@jCw(yMq} zWSt77gcCc0Ftx!QtSl`*Z9iY#+HNm(R-S2dYZ;rOr8Uqi+Cp7VlNDLhk%}n1Z8qb5qXcEWVc(r}C%LP^a zF-evgvvP{qIksT}r4rOqXituye2po0V(#3{sQ`>R(tV#{&WmCn>0Wy&pjhmAb4SL( za>eunIXyv+2QHP~F9~#m!E^RVGk;`w^=q+9m)EBTon&+nxr!@y8WNd}qJIYWTdfw{ zgZnMGcMoi|s7oAKsh&)MgOe!$ya%o6n~0)h!H|k_5Xm8LB7V#S^5yI_kZ<_$UDyY- z=1ksGjJVuqYV>1QcMdv5jYk(Wc#{W zM!lc8!WG7pceU8q{C({>>wj)g`s7Ao)Eaz|-Vf+mnC=7$xD!b4>@8m^Zc~!;b;+#{ zGLd|**p-OI*wJBXuIn?Z`t?NjYymdH*JT5e^{T)dl5HxD8^%2Ss>Yn8VV~lGIYxs( zih~r!H&HNW^~l{po1-IpXnJH!XvFAu3z`J*Nq_iEV!qo&G3COP3sWw< zgE$^cEx;3h0CFWSt(ZV1WGs>JDY74XHEYV%?>OXj?>L*1*NpwZ$*CJ8MhJiItw8 zB3EK%@QpCr0Y?{IF8VpfmR)Y+g0Zq(*b~>=$jNk>s^<{78@x%*`L^i&3?Bb0_N(Ei gfukMD&P7Nga>ZUgM;FGt*YGm>e<6AmI`BXM0Ke-PrvLx| delta 1571 zcmV+;2Hg3E4f_l-K~_N^Q*L2!b7*gLAa*kf0|4H3TwjCN0qlgARF{%B2N4%~a<8*Z9O1S&zdZ9u9E98~}SEY747zNNUR)x+zxYPxr|0oC5-R<)k)Jkq2NN5_@p zN)$zz#1HzuV8NG@ft-Ce6Ucwd9mpqfKg zN>I}%8mU$wk)Ou8&Czj1{~!3wQj~`|jI}y=e&3-MaOMoPWMq8s*^b)G>t99%e0CNI z(<&pH8Zl(s_iUoj%yEzj z4T!%f-T=VbwWX>p4C>U|f5AnFQyjVx`Xc|l3L(z%{4+jkf3kQkaHT*dI zFb5#vf*0IDnZuGlGc5US%91fG>1s%5@3?bDqGbA9L9S%%%cDzws8D`77cV{y8-KzS ztaqPpE^lmatgSA?0_>q>k-fPG4{O!bg=&4iG8R!b4v6oluI*BmEF-;&&x@>6p_Fi9 zM-ZkqxP!H&<)_`}t6SUMrQXUjZEhoDQ?#^3dZoN;#Kz`xD~DR63iXRYuuyIa#2AP$ z7KkokWC!gWB+h4$*q9=*5Q)8T9)Hh>#BkO{JJa{dqA{}XoExvMuXeehYIshPWyY+X zB6fjom_VrnwG`TuBPd^E%AJ@ycXKKLMMt{tGt7BWZsxr9Qo!`cc(!uI^aMFQL7op> zD!pG4=mvx5?2%^v$nfgda+fZzPYpWB=pb@6SMIbVG8;t$?sqyJxCi$;aDVR}*l1Cg zII>nhnF0qVQvmn?I@2c+Wyyju73Cn3W1d9(m#S^6p~93`st|U22kaV@EHWB!5QuT9L$fRbrCp z+csguTIf-_r+e!H{p~$4iWGEW3m3W@u`-!m{)QPpyi%MV_lN%7= z9?+#~c^{d&Y!_mqB4dmZ(csCrg?!a-2an-vE5p~1%FWj&v7?vGS0j9__-ec=F<*6V zpOb+}p8~%6Y!c~ouYYpW)g(uG>3W(Alhf5p(RH7z+#2Fv8M6Lf+8W~P;8RBX%U}X8 zBCQ2Rl%H{Cov!LD>d1E3c7j4n^hJ+<=|z{)5kpVIWzd4@cw||T7!%^xd<~A_W9*89 z6vj7EFlY71-BFvPBYS9iWK3v8@v{X@0{A4nCo$jcqnL7G%729^7v4fH+|A*FqAp5B zTra0${!fMqf0w&rKBdB&p@LZ{R&WPOURN7ast(fpvqyQwYJH)m?_({KwI|Lpk~_PU zsb)}9>O0tEc&M5VWvC5lGU8&>rH5!+L}J#!#nrXNFSdJYOUsFso}VIDVrB4-Fxvqa zT`q<>##UW!<2-_~vRc{`*W1X+beU@45V;#XNzQq<==}^H|C>G<9*4)L!6f!5yO6vQ VnVfP);x#;s{vUuG+qm#R0039z3<>}M diff --git a/packages/core/src/zip-foundry.test.ts.md b/packages/core/src/zip-foundry.test.ts.md index 137cc5de..21cd19cf 100644 --- a/packages/core/src/zip-foundry.test.ts.md +++ b/packages/core/src/zip-foundry.test.ts.md @@ -122,14 +122,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";␊ + import {ERC20FlashMint} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ - import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ import {ERC20Votes} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol";␊ import {Nonces} from "@openzeppelin/contracts/utils/Nonces.sol";␊ - import {ERC20FlashMint} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol";␊ ␊ contract MyToken is ERC20, ERC20Burnable, ERC20Pausable, AccessControl, ERC20Permit, ERC20Votes, ERC20FlashMint {␊ bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE");␊ @@ -330,9 +330,9 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {AccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";␊ import {ERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/ERC20Upgradeable.sol";␊ import {ERC20PermitUpgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/extensions/ERC20PermitUpgradeable.sol";␊ - import {AccessControlUpgradeable} from "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ @@ -521,8 +521,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";␊ - import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ import {UUPSUpgradeable} from "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC721Upgradeable, OwnableUpgradeable, UUPSUpgradeable {␊ @@ -853,8 +853,8 @@ Generated by [AVA](https://avajs.dev). pragma solidity ^0.8.22;␊ ␊ import {ERC1155Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol";␊ - import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";␊ + import {OwnableUpgradeable} from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";␊ ␊ contract MyToken is Initializable, ERC1155Upgradeable, OwnableUpgradeable {␊ /// @custom:oz-upgrades-unsafe-allow constructor␊ diff --git a/packages/core/src/zip-foundry.test.ts.snap b/packages/core/src/zip-foundry.test.ts.snap index 52265f82a4b318ece87b34b09d40d5d607a59902..5a941ec662850faa8440ef0625e5069a89cc273a 100644 GIT binary patch literal 3459 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 literal 3459 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 diff --git a/packages/core/src/zip-hardhat.test.ts.md b/packages/core/src/zip-hardhat.test.ts.md index 29e5004b..2b89bb88 100644 --- a/packages/core/src/zip-hardhat.test.ts.md +++ b/packages/core/src/zip-hardhat.test.ts.md @@ -13,14 +13,14 @@ Generated by [AVA](https://avajs.dev). // Compatible with OpenZeppelin Contracts ^5.0.0␊ pragma solidity ^0.8.22;␊ ␊ + import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol";␊ import {ERC20Burnable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";␊ + import {ERC20FlashMint} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol";␊ import {ERC20Pausable} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol";␊ - import {AccessControl} from "@openzeppelin/contracts/access/AccessControl.sol";␊ import {ERC20Permit} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";␊ import {ERC20Votes} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol";␊ import {Nonces} from "@openzeppelin/contracts/utils/Nonces.sol";␊ - import {ERC20FlashMint} from "@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol";␊ ␊ contract MyToken is ERC20, ERC20Burnable, ERC20Pausable, AccessControl, ERC20Permit, ERC20Votes, ERC20FlashMint {␊ bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE");␊ diff --git a/packages/core/src/zip-hardhat.test.ts.snap b/packages/core/src/zip-hardhat.test.ts.snap index 8628e95395044f6c5b0946de712aeb914a4f9d47..d90eca646e921c755fb64e85ec9b5a479f614102 100644 GIT binary patch delta 2199 zcmV;I2x#}}5$zE&K~_N^Q*L2!b7*gLAa*kf0|4BKA{XOE3@R=-HFK=W@ad9E$pEvdh8$2_LQPP z{)S$A?V+clx1xVR4=vDRQOt12<#K6BD}TtTSAZ>%eDixBeDmJ#alY<#L+(G7zxq8W zszUe@gx_i7UJ`~>G7`%HSMnEM2LVy!XE%R+6}^M>Pi>)g<9}m>(0zoESU~7E?;`Zi zIzry}5PH9M+fCpaKZEN?&FQ0 zEgfRCse;O!XL&moQ>qztcfrUdbo#7}O! zZMR*I1?fiwOMf2HfT|&W(sqB~b~-EdI*np36h2w=eUQ>DAJ z$iWt6>O~afAXOS3lSIC#2N^~sK8T3EkohS>750z00)P1;&<3D{{3&Pt*{F%4q4ZK& z3sBFV;;rGHR*I>_MokM(yl8uwMXiM=ay5HuytWs{PWyNMHt|UvV~o2)1@fZ~j+1Uk zee8246=4cLUfbV&uye4p{pbN+#ZSTa$~2gF31WO5QKmpN4T}CTemae&$n;Dr#jvVRDqf}=E^y@dISa+Yd#n%UdoEF6~2 zYZl$M^3`Aon-wl!Q4MIKkiAL8TR5Rib#C9mB;pBE(|QVyPv|i~8o(}`Q0IAgZveQ* z!;l|Q*3b1zOax$l2tv>RBo^>hLIni4JH)%TrMM-N50W?_3UaIURv%|$(T774CNR!B z^M95Y3G*A7UZ=Rv#~XXRdCR#elNf}X8Il^H6{iZTBh5^;$*tx`thi~?Fz1(t6po%_ zW>#9#>NQ3Xpc26(cC7bho73mkbZbm%L}u@(Zuvs3mJx;zYFS~$KO!O+5VbEstaH|* zeVkRcI&3_;B@VBg_c$0L&h(b ztw)C-bSGHGjg)URTIRL{r6}vm<=k-|D;m*fn%|6L0j81%%UFp7TK4uR{lokkwd$jl zdL539BevF9BUkb;UCF|9zoxMpj6~2_&I7V2Nfd`*Olw$!8^+?cyOiDyK>C8l%6~pd zZ$^ZgE6M^mcE6PA-BeIEGCvv$q$+5`=DKbjXplq=xEO>+;8Z z3I*ur^i91urF}NsXTRa86;{AJ=(tOF+$CdkeUt_DY8F)YN}hY51|VcP;dJ^CIb?pJ zoDs^Lv@WH2mGRYwM0d6!Ud7~yP=93+-9D(2gziYTA(_soOV{?s_A=fDl@%F~xW@%n z1Hd_JAflf{z?8&Y2>DTN05#3nhg@?>pBq3N@}V=?YqK6(=q%~#49?Y854qSdtF>Y$ zwO4E9A-Ey$J6~kFaH<3XtT_JuNeQYCYAtolX^y^VuGB|$JqP>*umGP&5r41%s{z%W zU+D^}LArqT7Sewv60ms_J+@Ot>2@T*^x)>yI;C*5Fm_lwo#hpMlUU z=Ck(au1(*S0zjH*XDnT+T$<+Q8B05brG>RGZC9LoUtpU9PDx(ZY^T|D6?fsQgoH&# zsuk$W(*NwpEg#qrs1|t=n&{32sg(sDMj_n62)1uF^2c-hE zTMB3Htn+Sqp>DeIlDp~pxLICOLoFrJh4ScpnKXS6XIt2*2XPClRgLVAHG~%I6#wU$ zr+B!GDgKomk5#tH^0CtEKOUMNcFYeu=7$~Cyx~7(-f#(r9p`2c=lmc%KdiU_pE!7B ZhZWx*W)Lw`e$7fX{s)=K47ji}003@DN9h0n delta 2222 zcmV;f2vPU#5$X{#K~_N^Q*L2!b7*gLAa*kf0|58QO5t2@2wuEYtPdxAgSSWVdM<=$ zuJ_7t&e`aYF2#{DB!34|6j+vQRET96mej8xR%Xe!yAzW$%*;^ITG&HT^w>Y3?I}fp z{0+VK+Cxu8Z$=CPD5df{|_rvw*>o0wyVE(wo4j!hb{(`J(t4MhSn-_d!Y%JszHh zPmHiPv8K{q5D`@`WUWD{!u~N=AYTO90F;m)a^|0ontv!7N-veIGVOjy=X>^-;e#B0i)nz-5v6AAlwt`;BHF~+z%R3Ja<;5g}q z)W<$&QW2)`qqV)Adyn@YZ$G$)SMgKuee$$(^On;nJZLmmPQ=*Se7IYQQFx#+42W4J z5?^uQkbfW$ASDiDW zyAoKS{pqyZZF~bSwegJ`H~^nUB$Q6G8oUs~R(}?ORB)8WvzIVmQO;7$PBVKuoQ1=( zdCj8RR=yf6VY9;JE2;ra6tXv|cnc?#sm{$?m_$5bYFbah@d-T!NCVh~6Y4w zco_0S%KEu}iHQKr4?qYSfW!j6PN;wYcZYb#wiLHy@_rHrL_uz~t^wn0Ec$Rj!UV>7 zXMf%jBVm3c)9V!X`FLZGH*YyNWfFsMGec4XwBl4@b)=c8XSvnPfsK+E19rGJ=TqgH*i zQm@02am3adYvf8Erb}6v?$$JRgOLat%XvT+C5hq?jA;#PaKl*Kc9+t-0Z3oaSby0k z>CK2xb46JINA6cLy_*WkM&?IDfm8);*j(4G0}Ya>0T*M?FeQBY#@6O;ru|?8VqN~2 zPoV()oQA3wr?k(8`}8+FwZaOR2OW3mmb+wZu8*>yUe1E*UdnS1)BuDmC!9_nB8SW` zlrut^lh&m)uQI-RpXkmu#H*Mb5`U^JqT2^mlF%K=HYC#-b?MsP*j~mvpt2$Z68E^k zY5+KA4Mg;l2$+(%3n4$u4WOnO`;coc>2m{!Lq2pSdu`TZ3!Nohox!>K>OL16X0=xA zr1om9JOnr7edo(e7fzKxfEC9-JT5`?L9L~ZInB|R&6WD7uIGTC02bi$D1QPLU^Sq+ z^DA9JHAok*-a`7%L;^Oi!Ly+~05LoqfB=m`Sb$@}V-VpG4+slFz#s${(yga&%k_!! z2aaRzHu37G`Rmhun7j6w4nr)srduu?QMJwk9oMCm`lvbHl~=L^`mB&ZM=|&+PauCl zXn|FpkYDKr?ZP-MTH|c9nSZ8f%r2xw%!Iqq!lk@)vR?U;vN8iIW({7&P8nv0_8ADx zVm@zw;o9_FDFCF2cFNMF%B5*;p0c!4SXx;7(ssp}_XV~&;FRQb&32kiS8*4;i;;yR(FoxGzWmdJjyG?%(@u)#$!=1))D&Md-;p2!DP1?yRGG?aIZB z?zcNjdt+ZunYb1UVHrwMT6jEuh+hkNx64Gb0YKa9u8rqR@0;Hs1`_T0KbNXT@ z@@bHgmc6}4JLgnUbfg4x(ug|Yv*E0hac<#hqg%M7z!oRZ^Y9%%k%~vl{8?t5TuhiG zJy;}~y%z_?sljn#B9qJp8-Hm(^?F}RRScem0dC(0BNd&{QIsl$CzXDV?fWUyqR+Aj z=Pocf+|&e6S0TfWP8vm6I5c)lvHq0CSF-a@UNt+ z(`k#Qaze|0^twicTjf!ql{M)9lc6E=#`2;^x>qIfpe!5ADSf=+x2PxnlLg4%^vbpAzk{zdf-{G$5dTlGbCYPy?$L7kNj{bfcv zG$%o`+h`4?C)P w!+*-W;Q|gj&dear_(6DnSaA+MvH!{rE519-5MrkMnw4t&51Y401+X&!09AujnE(I)