Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The upgradeProxy fails with "Bytecode is not a valid hex string" #823

Open
nikitaVagin95 opened this issue Jun 20, 2023 · 2 comments
Open

Comments

@nikitaVagin95
Copy link

Hi OZ!

I'm trying to update the proxy to the new implementation, which differs from the old one in only one function that returns the contract name + v2 to make sure everything is ok but I get the error. if I change the return string in the contract or change the compile version from ^0.8.18 to ^0.8.20, there is no error.
I think the problem is in the regular expression in the hashBytecode in version.ts because the bytecode that causes the error still has a library placeholder after the replace func.

here's the bytecode before and after the replace
before:
0x60808060405234610016576126c9908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60009060e0908235821c90816301ffc9a714611a5c57508063171a89641461190b57806332353ae8146118555780633ce917ab146116545780633f4ba83a14611543578063442b4a26146114985780634485b5011461140257806347ccca02146113d95780635c975abb146113b65780636f7ee4da146113735780637b1039991461134a5780638004298e1461131a5780638456cb591461124357806392f8eb94146112185780639d6aed0b1461119e5780639e1f1cab146111645780639f8dbb7b14610ee1578063bd6846aa14610d36578063c0c53b8b14610a48578063c34902631461033f578063c4ee93661461030a578063ced3f029146102ab5763ec1dfe711461012057600080fd5b346102a75760403660031901126102a757610139611b51565b9060243591838260405161014c81611ac9565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b038082168552610100948560205260408120906024818460c95416604051928380926341f63bfd60e01b82528b60048301525afa91821561029b5790818593610278575b5050511660005260205260406000206040519485926101dd84611ac9565b82548452806001840154169060208501918252600284015490604086019182526003850154926060870193845261024360048701549560808901968752600760058901549860a08b01998a5260c060068201549b019a8b520154998b8d019a8b52611ec8565b855260405199518a52511660208901525160408801525160608701525160808601525160a08501525160c08401525190820152f35b61029492503d8091833e61028c8183611afc565b810190611cd7565b38806101bf565b604051903d90823e3d90fd5b5080fd5b8234610307576040366003190112610307576060906040906001600160a01b036102d3611b51565b16815260ff602052818120602435825260205220805490600260018201549101549060405192835260208301526040820152f35b80fd5b82346103075760803660031901126103075761033c610327611b51565b61032f611b36565b6064359160243590611d84565b80f35b50346102a75760403660031901126102a75760243590600260015414610a0357600260015561036c611c2a565b60cc54604051630723eb0360e51b815233600482015290602090829060249082906001600160a01b03165afa9081156107615784916109d4575b506109c257600435156109b0573383526101006020526040832060248460018060a01b0360c95416604051928380926341f63bfd60e01b82528860048301525afa9081156108f7578591610996575b50516001600160a01b03168452602052604080842090519261041684611ac9565b815480855260018301546001600160a01b031660208601819052600284015460408701526003840154606087015260048401546080870152600584015460a0870152600684015460c087015260079093015484860152911515918261098c575b50501561097a576020828101516040516368d0612f60e01b81529190829060049082906001600160a01b03165afa908115610761578491610948575b50806104bd8161238c565b6104c684612346565b61081a575b505060808201518183015180911161062b575b506104e882612346565b158061061b575b1561059057503382526101006020526040822060018060a01b0360208301511660005260205261054d604060002060076000918281558260018201558260028201558260038201558260048201558260058201558260068201550155565b6020908101516001600160a01b0316825260cb9052604081208054801561057c576000190190555b6001805580f35b634e487b7160e01b83526011600452602483fd5b6007903384526101006020526040842060018060a01b03602085015116600052602052604060002092805184556001840160018060a01b036020830151166001600160601b0360a01b82541617905560408101516002850155606081015160038501556080810151600485015560a0810151600585015560c081015160068501550151910155610575565b50808201516080830151146104ef565b6106389060043590612187565b608083015180911160001461081157828201516106549161217a565b6106618183850151612187565b8383015260208084015160405163669949ef60e11b815286929091829060049082906001600160a01b03165afa80156108065782906107c3575b60208601516040516306fdde0360e01b815292508390839060049082906001600160a01b03165afa9182156107b8578392610770575b506001600160a01b0381163b1561076c5761070b9183604051809681958294632581e14f60e21b8452606060048501526064840190611ba0565b336024840152604483019190915203926001600160a01b03165af1801561076157156104de5767ffffffffffffffff819492941161074d5760405291386104de565b634e487b7160e01b82526041600452602482fd5b6040513d86823e3d90fd5b8280fd5b9091503d8084833e6107828183611afc565b81016020828203126107b457815167ffffffffffffffff81116107b0576107a99201611c82565b90386106d1565b8480fd5b8380fd5b6040513d85823e3d90fd5b506020813d6020116107fe575b816107dd60209383611afc565b810103126102a757516001600160a01b03811681036102a75760049061069b565b3d91506107d0565b6040513d84823e3d90fd5b50600435610654565b60c084015142811061092f575b505060a0830151811161083b575b806104cb565b602083810151604051631f1b131360e31b81529190829060049082906001600160a01b03165afa9081156108f7576024916020918791610902575b50604051630ed1279f60e11b815233600482015292839182906001600160a01b03165afa80156108f75785906108c3575b6108b3915082856121eb565b608084015260a083015238610835565b506020813d6020116108ef575b816108dd60209383611afc565b810103126107b0576108b390516108a7565b3d91506108d0565b6040513d87823e3d90fd5b6109229150823d8411610928575b61091a8183611afc565b810190611d65565b38610876565b503d610910565b610939925061243b565b60001960c08401523880610827565b90506020813d602011610972575b8161096360209383611afc565b810103126107b45751386104b2565b3d9150610956565b604051633d77b3cb60e01b8152600490fd5b1490503880610476565b6109aa91503d8087833e61028c8183611afc565b386103f5565b604051633abe877f60e11b8152600490fd5b6040516333df015b60e01b8152600490fd5b6109f6915060203d6020116109fc575b6109ee8183611afc565b810190611c12565b386103a6565b503d6109e4565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b8234610307576060366003190112610307576001600160a01b036004358181169081900361076c57610a78611b67565b604435928084168094036107b05784549160ff8360081c161592838094610d29575b8015610d12575b15610cb65760ff1981811660011788559084610ca5575b5086549560ff8760081c1692610acd846120e1565b610ad6846120e1565b6040516301ffc9a760e01b808252633694124d60e21b600483015260209891908982602481865afa918215610c7b578c92610c86575b5081610c29575b81610bcf575b5015610bbd57610b7e956001600160601b0360a01b92168260ca54161760ca558160c954161760c95560cc54161760cc55610b53826120e1565b610b5c826120e1565b60018055610b69826120e1565b610b72826120e1565b606554166065556120e1565b610b86578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001916835560405160018152a181808280f35b60405163044aa57560e41b8152600490fd5b604051908152633df6cef760e01b600482015290508881602481875afa908115610c1e578b91610c01575b508b610b19565b610c189150893d8b116109fc576109ee8183611afc565b8b610bfa565b6040513d8d823e3d90fd5b604051818152637965db0b60e01b60048201529091508981602481878c165afa908115610c7b578c91610c5e575b5090610b13565b610c7591508a3d8c116109fc576109ee8183611afc565b8c610c57565b6040513d8e823e3d90fd5b610c9e9192508a3d8c116109fc576109ee8183611afc565b908c610b0c565b61ffff191661010117875587610ab8565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610aa15750600160ff821614610aa1565b50600160ff821610610a9a565b8234610307576060806003193601126102a757610d51611b51565b60249167ffffffffffffffff908335828111610edd5736602382011215610edd57806004013592808411610ed957600591368786851b83010111610ed557604493843590838211610ed15736602383011215610ed1578160040135938411610ed157368982860284010111610ed15760ca54604051632474521560e21b8152600481018c9052338b820152602095916001600160a01b039190879082908b90829086165afa908115610ec6578d91610ea9575b5015610e9757818903610e85579798909716968a5b898110__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__ff86526040808d2082891b87018d01358e5287528c208382028501808d0135825589810135600183015560640135600290910155610e6d90612141565b610e19565b634e487b7160e01b8c5260326004528a8cfd5b604051632aa3c3bf60e11b8152600490fd5b60405163036be76f60e61b8152600490fd5b610ec09150873d89116109fc576109ee8183611afc565b8d610e04565b6040513d8f823e3d90fd5b8980fd5b8780fd5b8680fd5b8580fd5b50346102a7576020908160031936011261076c5760043591610f01611c2a565b60cc54604051630723eb0360e51b81523360048201526001600160a01b03949183908290602490829089165afa9081156110d9578691611147575b506109c2573385526101008252604085206024868660c95416604051928380926341f63bfd60e01b82528760048301525afa801561113c5786918891611122575b50511686528252604085209260405191610f9683611ac9565b8454918284528660018701541690600786860197838952600281015460408801526003810154606088015260048101546080880152600581015460a0880152600681015460c088015201549085015215159182611118575b50501561097a5760048285855116604051928380926368d0612f60e01b82525afa9384156110d957859187956110e4575b50600491849161102e8761238c565b511660405192838092631f1b131360e31b82525afa80156110d957839187916110bc575b50602460405180978193630ed1279f60e11b8352336004840152165afa9182156108f757859261108a575b5061033c935033906122b0565b90915083813d83116110b5575b6110a18183611afc565b810103126107b45761033c9251903861107d565b503d611097565b6110d39150823d84116109285761091a8183611afc565b38611052565b6040513d88823e3d90fd5b84809296508193503d8311611111575b6110fe8183611afc565b81010312610edd5751928490600461101f565b503d6110f4565b1490503880610fee565b61113691503d808a833e61028c8183611afc565b38610f7d565b6040513d89823e3d90fd5b61115e9150833d85116109fc576109ee8183611afc565b38610f3c565b823461030757602036600319011261030757600435906101025482101561030757602061119083611bc5565b90546040519160031b1c8152f35b82346103075780600319360112610307576040516040810181811067ffffffffffffffff821117611204576112009250604052600e81526d2332b2a232b1b932b0b9b2b92b1960911b6020820152604051918291602083526020830190611ba0565b0390f35b634e487b7160e01b83526041600452602483fd5b8234610307576020366003190112610307576040602091600435815261010183522054604051908152f35b823461030757806003193601126103075760ca54604051632474521560e21b81527f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb600482015233602482015290602090829060449082906001600160a01b03165afa9081156108065782916112fc575b5015610e97576112c2611c2a565b600160ff1960655416176065557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b611314915060203d81116109fc576109ee8183611afc565b826112b4565b8234610307576040366003190112610307576020611342611339611b51565b60243590611ec8565b604051908152f35b823461030757806003193601126103075760ca546040516001600160a01b039091168152602090f35b82346103075760203660031901126103075760409081906001600160a01b0361139a611b51565b16815260cb602052206001815491015482519182526020820152f35b8234610307578060031936011261030757602060ff606554166040519015158152f35b823461030757806003193601126103075760c9546040516001600160a01b039091168152602090f35b82346103075760403660031901126103075761141c611b51565b611424611b67565b60c95490916001600160a01b0391821633036114865781168352610100602052604083209116825260205261033c6040822060076000918281558260018201558260028201558260038201558260048201558260058201558260068201550155565b604051632a4b45b760e11b8152600490fd5b8234610307576040366003190112610307576114b2611b51565b6001600160a01b038181168352610100602052604080842060c95491516341f63bfd60e01b8152602480356004830181905294929387918391829086165afa9081156110d957866007946115209461134298979460409460209b91611529575b505116825288522093611ec8565b9101549061217a565b61153d91503d8086833e61028c8183611afc565b8b611512565b823461030757806003193601126103075760ca54604051632474521560e21b81527f5a7d4408f4759dddd7fdfd0d21abd99341dc2f52cda14804988a9b2df20766d8600482015233602482015290602090829060449082906001600160a01b03165afa908115610806578291611636575b5015610e975760655460ff8116156115fa5760ff19166065557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b61164e915060203d81116109fc576109ee8183611afc565b826115b4565b50346102a75760803660031901126102a75761166e611b36565b906001600160a01b0390606435828116908190036107b0578260c95416330361148657611699611c2a565b80855260209261010084528060408720951694858752845280600160408820015416611843576040516368d0612f60e01b81528481600481895afa90811561113c578791611816575b506116ec8161238c565b85875260cb855260408720958654600188015411156118045780885260ff8652604088206024358952865260408820805480156117f257600796600260018401549301548015156000146117ea576117449042612187565b955b8b6040519a8b9661175688611ac9565b600435885281880194818652604089019687526060890197885260c060808a0199858b5260a081019b8c52019a8b528d019a838c52835261010082526040832092525260408c2099518a5560018a019151166001600160601b0360a01b825416179055516002880155516003870155516004860155516005850155516006840155519101556117e58154612141565b905580f35b508a95611746565b604051630efac93f60e31b8152600490fd5b604051632c539eb360e21b8152600490fd5b90508481813d831161183c575b61182d8183611afc565b81010312610ed95751386116e2565b503d611823565b60405163c1ccec5d60e01b8152600490fd5b82346103075760403660031901126103075761186f611b51565b60ca54604051632474521560e21b81527fc0fc8e4dc5cff6febdf550b80d566f654e2baf1a02ea1060208c2f8ab2dd1b6360048201523360248201526001600160a01b0392916020908290604490829087165afa9081156107615784916118ed575b5015610e975716815260cb602052602435600160408320015580f35b611905915060203d81116109fc576109ee8183611afc565b846118d1565b8234610307576080366003190112610307576004359067ffffffffffffffff8083116102a757366023840112156102a757826004013561194a81611b1e565b936119586040519586611afc565b81855260209160248387019160051b83010191368311610edd57602401905b828210611a3d5750505060243591821161076c573660238301121561076c578160040135916119a583611b1e565b926119b36040519485611afc565b80845260248385019160051b83010191368311610edd57602401905b828210611a2e57505050506119e2611b36565b9060643593835b8151811015611a2a57611a2590611a2087866001600160a01b03611a0d8588612166565b5116611a198589612166565b5190611d84565b612141565b6119e9565b8480f35b813581529083019083016119cf565b81356001600160a01b0381168103610ed9578152908301908301611977565b8390346102a75760203660031901126102a75760043563ffffffff60e01b811680910361076c57602092506301ffc9a760e01b8114908115611ab8575b8115611aa7575b5015158152f35b636c91bd0560e11b14905083611aa0565b63cedc502360e01b81149150611a99565b610100810190811067ffffffffffffffff821117611ae657604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611ae657604052565b67ffffffffffffffff8111611ae65760051b60200190565b604435906001600160a01b0382168203611b4c57565b600080fd5b600435906001600160a01b0382168203611b4c57565b602435906001600160a01b0382168203611b4c57565b60005b838110611b905750506000910152565b8181015183820152602001611b80565b90602091611bb981518092818552858086019101611b7d565b601f01601f1916010190565b6101028054821015611bfc576000527f93bdaa6a4190909b7c3fbe8d42169ffe1cab19f51dfc8db24c71abf849eced4a0190600090565b634e487b7160e01b600052603260045260246000fd5b90816020910312611b4c57518015158103611b4c5790565b60ff60655416611c3657565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b51906001600160a01b0382168203611b4c57565b81601f82011215611b4c57805167ffffffffffffffff8111611ae65760405192611cb6601f8301601f191660200185611afc565b81845260208284010111611b4c57611cd49160208085019101611b7d565b90565b90602082820312611b4c57815167ffffffffffffffff92838211611b4c57019060a082820312611b4c5760__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__52611d2083611c6e565b84526020830151602085015260408301516040850152611d4260608401611c6e565b60608501526080830151908111611b4c57611d5d9201611c82565b608082015290565b90816020910312611b4c57516001600160a01b0381168103611b4c5790565b6001600160__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__4080842098861680855298825280842060010154909a999891959394919291908416158015611ebc575b611eaf57845284528883209083528352600488832093808a5195611dea87611ac9565b805487526007856001830154169182848a01528d6002820154908a0152600381015460608a01528581015460808a0152600581015460a08a0152600681015460__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__131360e31b82525afa938415611ea45793611e85575b505033911603611e7457611e72949550611e6d8461238c565b6122b0565b565b85516325a2afeb60e01b8152600490fd5b611e9c929350803d106109285761091a8183611afc565b903880611e54565b8a51903d90823e3d90fd5b5050__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__c7565b9160018060a01b0380931691600092808452602094610100865260409283862090868360c954169160248751809481936341f63bfd60e01b835260048301525afa9081156120d75790839188916120bd575b5051168652865282852095835192611f3184611ac9565b8754845282600189015416976007838601918a83526002810154888801526003810154606088015260048101546080880152600581015460a0880152600681015460c0880152015460e086015288156120b257828697989960049751978880926368d0612f60e01b82525afa95861561207357899661207d575b509082846004935116885193848092631f1b131360e31b82525afa91821561207357908392918a92612051575b5060249088519586938492630ed1279f60e11b84526004840152165afa94851561204857508694612011575b5050611cd4939450612194565b9080929450813d8311612041575b6120298183611afc565b810103126107b057611cd49394505191849338612004565b503d61201f565b513d88823e3d90fd5b602491925061206c90843d86116109285761091a8183611afc565b9190611fd8565b87513d8b823e3d90fd5b919095508282813d83116120ab575b6120968183611afc565b810103126120a75790519482611fab565b8880fd5b503d61208c565b505050505050915090565b6120d191503d808a833e61028c8183611afc565b38611f1a565b85513d89823e3d90fd5b156120e857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60001981146121505760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015611bfc5760209160051b010190565b9190820391821161215057565b9190820180921161215057565b919060c0830151806121ab575b50611cd4926121eb565b__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__c69161243b565b8060a084015110156121d857386121a1565b50506080015190565b5050506080015190565b916121fa90604084015161261d565b6706f05b59d3b2000081019081811161215057811061227457670de0b6b3a764000061222e6122359360a08601519061217a565b910461265a565b60608201805161224d57506080611cd4920151612187565b9160800161225c828251612187565b8351116122695750__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b6044820152606490fd5b9291906122bc84612346565b6122c7575b50505050565b60018060a01b0380911660005261010060205260406000209060208501511660005260205260406000209060c084015142811061231e575b5061230e9083600594956121eb565b60048201550155388080806122c1565b92612329919361243b565b9283600019600684015560a082015110156122c1579291386122ff565b606081015180612375575b5060c0015180612362575b50600190565b60001914612370573861235c565b600090565b608082015110156123865738612351565b50600090565b6101028054801580156123ea575b6123a357505050565b6801000000000000000081__$75df3f6366b0557754cd3ba14359105414$__5b81549060031b9042821b91600019901b191617905542600052610101602052604060002055565b5060001981018181116121505761240090611bc5565b90549060031b1c610e1081018091116121505742101561239a565b8115612425570490565b634e487b7160e01b600052601260045260246000fd5b6101025460001980820194939160009190861161255c57859261245d87611bc5565b979054600398891b1c90158015612553575b6125325750505b8282106124c2575b509361249c612490611cd49596611bc5565b905490831b1c92611bc5565b9054911b1c90806000526101016020526040600020548260005260406000205490612570565b9182810181811161215057821461252c576124dd8183612187565b60011c906124ea82611bc5565b905490881b1c8086101561250057505091612476565b9093925080851115612513575090612476565b9495505050505060005261010160205260406000205490565b9161247e565b611cd496975083819492955060409350526101016020522054914292612570565b5080861161246f565b634e487b7160e01b82526011600452602482fd5b929391612584816125848661258a9561217a565b9461217a565b906b033b2e3c9fd0803ce80000009384810294818604811482151715612150578504036125e1576125be8260011c85612187565b938410612274576125d56125db92611cd49561241b565b9061265a565b90612187565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b6044820152606490fd5b600092918015918215612634575b5050156125e157565b8082029450915081158285048214171561215057612652908461241b565b14388061262b565b906126649161261d565b6b019d971e4fe8401e74000000810190818111612150578110612274576b03__$52ea7cf0c9ae2adbe7796b4f32fb3f8ca1$__667358221220f88f77e0b77bc54d394df89cd783b4951078f9531328297f163b2499ffaf1ba164736f6c63430008120033

after (the placeholder stays at the end of the bytecode) :
0x60808060405234610016576126c9908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60009060e0908235821c90816301ffc9a714611a5c57508063171a89641461190b57806332353ae8146118555780633ce917ab146116545780633f4ba83a14611543578063442b4a26146114985780634485b5011461140257806347ccca02146113d95780635c975abb146113b65780636f7ee4da146113735780637b1039991461134a5780638004298e1461131a5780638456cb591461124357806392f8eb94146112185780639d6aed0b1461119e5780639e1f1cab146111645780639f8dbb7b14610ee1578063bd6846aa14610d36578063c0c53b8b14610a48578063c34902631461033f578063c4ee93661461030a578063ced3f029146102ab5763ec1dfe711461012057600080fd5b346102a75760403660031901126102a757610139611b51565b9060243591838260405161014c81611ac9565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b038082168552610100948560205260408120906024818460c95416604051928380926341f63bfd60e01b82528b60048301525afa91821561029b5790818593610278575b5050511660005260205260406000206040519485926101dd84611ac9565b82548452806001840154169060208501918252600284015490604086019182526003850154926060870193845261024360048701549560808901968752600760058901549860a08b01998a5260c060068201549b019a8b520154998b8d019a8b52611ec8565b855260405199518a52511660208901525160408801525160608701525160808601525160a08501525160c08401525190820152f35b61029492503d8091833e61028c8183611afc565b810190611cd7565b38806101bf565b604051903d90823e3d90fd5b5080fd5b8234610307576040366003190112610307576060906040906001600160a01b036102d3611b51565b16815260ff602052818120602435825260205220805490600260018201549101549060405192835260208301526040820152f35b80fd5b82346103075760803660031901126103075761033c610327611b51565b61032f611b36565b6064359160243590611d84565b80f35b50346102a75760403660031901126102a75760243590600260015414610a0357600260015561036c611c2a565b60cc54604051630723eb0360e51b815233600482015290602090829060249082906001600160a01b03165afa9081156107615784916109d4575b506109c257600435156109b0573383526101006020526040832060248460018060a01b0360c95416604051928380926341f63bfd60e01b82528860048301525afa9081156108f7578591610996575b50516001600160a01b03168452602052604080842090519261041684611ac9565b815480855260018301546001600160a01b031660208601819052600284015460408701526003840154606087015260048401546080870152600584015460a0870152600684015460c087015260079093015484860152911515918261098c575b50501561097a576020828101516040516368d0612f60e01b81529190829060049082906001600160a01b03165afa908115610761578491610948575b50806104bd8161238c565b6104c684612346565b61081a575b505060808201518183015180911161062b575b506104e882612346565b158061061b575b1561059057503382526101006020526040822060018060a01b0360208301511660005260205261054d604060002060076000918281558260018201558260028201558260038201558260048201558260058201558260068201550155565b6020908101516001600160a01b0316825260cb9052604081208054801561057c576000190190555b6001805580f35b634e487b7160e01b83526011600452602483fd5b6007903384526101006020526040842060018060a01b03602085015116600052602052604060002092805184556001840160018060a01b036020830151166001600160601b0360a01b82541617905560408101516002850155606081015160038501556080810151600485015560a0810151600585015560c081015160068501550151910155610575565b50808201516080830151146104ef565b6106389060043590612187565b608083015180911160001461081157828201516106549161217a565b6106618183850151612187565b8383015260208084015160405163669949ef60e11b815286929091829060049082906001600160a01b03165afa80156108065782906107c3575b60208601516040516306fdde0360e01b815292508390839060049082906001600160a01b03165afa9182156107b8578392610770575b506001600160a01b0381163b1561076c5761070b9183604051809681958294632581e14f60e21b8452606060048501526064840190611ba0565b336024840152604483019190915203926001600160a01b03165af1801561076157156104de5767ffffffffffffffff819492941161074d5760405291386104de565b634e487b7160e01b82526041600452602482fd5b6040513d86823e3d90fd5b8280fd5b9091503d8084833e6107828183611afc565b81016020828203126107b457815167ffffffffffffffff81116107b0576107a99201611c82565b90386106d1565b8480fd5b8380fd5b6040513d85823e3d90fd5b506020813d6020116107fe575b816107dd60209383611afc565b810103126102a757516001600160a01b03811681036102a75760049061069b565b3d91506107d0565b6040513d84823e3d90fd5b50600435610654565b60c084015142811061092f575b505060a0830151811161083b575b806104cb565b602083810151604051631f1b131360e31b81529190829060049082906001600160a01b03165afa9081156108f7576024916020918791610902575b50604051630ed1279f60e11b815233600482015292839182906001600160a01b03165afa80156108f75785906108c3575b6108b3915082856121eb565b608084015260a083015238610835565b506020813d6020116108ef575b816108dd60209383611afc565b810103126107b0576108b390516108a7565b3d91506108d0565b6040513d87823e3d90fd5b6109229150823d8411610928575b61091a8183611afc565b810190611d65565b38610876565b503d610910565b610939925061243b565b60001960c08401523880610827565b90506020813d602011610972575b8161096360209383611afc565b810103126107b45751386104b2565b3d9150610956565b604051633d77b3cb60e01b8152600490fd5b1490503880610476565b6109aa91503d8087833e61028c8183611afc565b386103f5565b604051633abe877f60e11b8152600490fd5b6040516333df015b60e01b8152600490fd5b6109f6915060203d6020116109fc575b6109ee8183611afc565b810190611c12565b386103a6565b503d6109e4565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b8234610307576060366003190112610307576001600160a01b036004358181169081900361076c57610a78611b67565b604435928084168094036107b05784549160ff8360081c161592838094610d29575b8015610d12575b15610cb65760ff1981811660011788559084610ca5575b5086549560ff8760081c1692610acd846120e1565b610ad6846120e1565b6040516301ffc9a760e01b808252633694124d60e21b600483015260209891908982602481865afa918215610c7b578c92610c86575b5081610c29575b81610bcf575b5015610bbd57610b7e956001600160601b0360a01b92168260ca54161760ca558160c954161760c95560cc54161760cc55610b53826120e1565b610b5c826120e1565b60018055610b69826120e1565b610b72826120e1565b606554166065556120e1565b610b86578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001916835560405160018152a181808280f35b60405163044aa57560e41b8152600490fd5b604051908152633df6cef760e01b600482015290508881602481875afa908115610c1e578b91610c01575b508b610b19565b610c189150893d8b116109fc576109ee8183611afc565b8b610bfa565b6040513d8d823e3d90fd5b604051818152637965db0b60e01b60048201529091508981602481878c165afa908115610c7b578c91610c5e575b5090610b13565b610c7591508a3d8c116109fc576109ee8183611afc565b8c610c57565b6040513d8e823e3d90fd5b610c9e9192508a3d8c116109fc576109ee8183611afc565b908c610b0c565b61ffff191661010117875587610ab8565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610aa15750600160ff821614610aa1565b50600160ff821610610a9a565b8234610307576060806003193601126102a757610d51611b51565b60249167ffffffffffffffff908335828111610edd5736602382011215610edd57806004013592808411610ed957600591368786851b83010111610ed557604493843590838211610ed15736602383011215610ed1578160040135938411610ed157368982860284010111610ed15760ca54604051632474521560e21b8152600481018c9052338b820152602095916001600160a01b039190879082908b90829086165afa908115610ec6578d91610ea9575b5015610e9757818903610e85579798909716968a5b89811000052ea7cf0c9ae2adbe7796b4f32fb3f8ca1000ff86526040808d2082891b87018d01358e5287528c208382028501808d0135825589810135600183015560640135600290910155610e6d90612141565b610e19565b634e487b7160e01b8c5260326004528a8cfd5b604051632aa3c3bf60e11b8152600490fd5b60405163036be76f60e61b8152600490fd5b610ec09150873d89116109fc576109ee8183611afc565b8d610e04565b6040513d8f823e3d90fd5b8980fd5b8780fd5b8680fd5b8580fd5b50346102a7576020908160031936011261076c5760043591610f01611c2a565b60cc54604051630723eb0360e51b81523360048201526001600160a01b03949183908290602490829089165afa9081156110d9578691611147575b506109c2573385526101008252604085206024868660c95416604051928380926341f63bfd60e01b82528760048301525afa801561113c5786918891611122575b50511686528252604085209260405191610f9683611ac9565b8454918284528660018701541690600786860197838952600281015460408801526003810154606088015260048101546080880152600581015460a0880152600681015460c088015201549085015215159182611118575b50501561097a5760048285855116604051928380926368d0612f60e01b82525afa9384156110d957859187956110e4575b50600491849161102e8761238c565b511660405192838092631f1b131360e31b82525afa80156110d957839187916110bc575b50602460405180978193630ed1279f60e11b8352336004840152165afa9182156108f757859261108a575b5061033c935033906122b0565b90915083813d83116110b5575b6110a18183611afc565b810103126107b45761033c9251903861107d565b503d611097565b6110d39150823d84116109285761091a8183611afc565b38611052565b6040513d88823e3d90fd5b84809296508193503d8311611111575b6110fe8183611afc565b81010312610edd5751928490600461101f565b503d6110f4565b1490503880610fee565b61113691503d808a833e61028c8183611afc565b38610f7d565b6040513d89823e3d90fd5b61115e9150833d85116109fc576109ee8183611afc565b38610f3c565b823461030757602036600319011261030757600435906101025482101561030757602061119083611bc5565b90546040519160031b1c8152f35b82346103075780600319360112610307576040516040810181811067ffffffffffffffff821117611204576112009250604052600e81526d2332b2a232b1b932b0b9b2b92b1960911b6020820152604051918291602083526020830190611ba0565b0390f35b634e487b7160e01b83526041600452602483fd5b8234610307576020366003190112610307576040602091600435815261010183522054604051908152f35b823461030757806003193601126103075760ca54604051632474521560e21b81527f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb600482015233602482015290602090829060449082906001600160a01b03165afa9081156108065782916112fc575b5015610e97576112c2611c2a565b600160ff1960655416176065557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b611314915060203d81116109fc576109ee8183611afc565b826112b4565b8234610307576040366003190112610307576020611342611339611b51565b60243590611ec8565b604051908152f35b823461030757806003193601126103075760ca546040516001600160a01b039091168152602090f35b82346103075760203660031901126103075760409081906001600160a01b0361139a611b51565b16815260cb602052206001815491015482519182526020820152f35b8234610307578060031936011261030757602060ff606554166040519015158152f35b823461030757806003193601126103075760c9546040516001600160a01b039091168152602090f35b82346103075760403660031901126103075761141c611b51565b611424611b67565b60c95490916001600160a01b0391821633036114865781168352610100602052604083209116825260205261033c6040822060076000918281558260018201558260028201558260038201558260048201558260058201558260068201550155565b604051632a4b45b760e11b8152600490fd5b8234610307576040366003190112610307576114b2611b51565b6001600160a01b038181168352610100602052604080842060c95491516341f63bfd60e01b8152602480356004830181905294929387918391829086165afa9081156110d957866007946115209461134298979460409460209b91611529575b505116825288522093611ec8565b9101549061217a565b61153d91503d8086833e61028c8183611afc565b8b611512565b823461030757806003193601126103075760ca54604051632474521560e21b81527f5a7d4408f4759dddd7fdfd0d21abd99341dc2f52cda14804988a9b2df20766d8600482015233602482015290602090829060449082906001600160a01b03165afa908115610806578291611636575b5015610e975760655460ff8116156115fa5760ff19166065557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b61164e915060203d81116109fc576109ee8183611afc565b826115b4565b50346102a75760803660031901126102a75761166e611b36565b906001600160a01b0390606435828116908190036107b0578260c95416330361148657611699611c2a565b80855260209261010084528060408720951694858752845280600160408820015416611843576040516368d0612f60e01b81528481600481895afa90811561113c578791611816575b506116ec8161238c565b85875260cb855260408720958654600188015411156118045780885260ff8652604088206024358952865260408820805480156117f257600796600260018401549301548015156000146117ea576117449042612187565b955b8b6040519a8b9661175688611ac9565b600435885281880194818652604089019687526060890197885260c060808a0199858b5260a081019b8c52019a8b528d019a838c52835261010082526040832092525260408c2099518a5560018a019151166001600160601b0360a01b825416179055516002880155516003870155516004860155516005850155516006840155519101556117e58154612141565b905580f35b508a95611746565b604051630efac93f60e31b8152600490fd5b604051632c539eb360e21b8152600490fd5b90508481813d831161183c575b61182d8183611afc565b81010312610ed95751386116e2565b503d611823565b60405163c1ccec5d60e01b8152600490fd5b82346103075760403660031901126103075761186f611b51565b60ca54604051632474521560e21b81527fc0fc8e4dc5cff6febdf550b80d566f654e2baf1a02ea1060208c2f8ab2dd1b6360048201523360248201526001600160a01b0392916020908290604490829087165afa9081156107615784916118ed575b5015610e975716815260cb602052602435600160408320015580f35b611905915060203d81116109fc576109ee8183611afc565b846118d1565b8234610307576080366003190112610307576004359067ffffffffffffffff8083116102a757366023840112156102a757826004013561194a81611b1e565b936119586040519586611afc565b81855260209160248387019160051b83010191368311610edd57602401905b828210611a3d5750505060243591821161076c573660238301121561076c578160040135916119a583611b1e565b926119b36040519485611afc565b80845260248385019160051b83010191368311610edd57602401905b828210611a2e57505050506119e2611b36565b9060643593835b8151811015611a2a57611a2590611a2087866001600160a01b03611a0d8588612166565b5116611a198589612166565b5190611d84565b612141565b6119e9565b8480f35b813581529083019083016119cf565b81356001600160a01b0381168103610ed9578152908301908301611977565b8390346102a75760203660031901126102a75760043563ffffffff60e01b811680910361076c57602092506301ffc9a760e01b8114908115611ab8575b8115611aa7575b5015158152f35b636c91bd0560e11b14905083611aa0565b63cedc502360e01b81149150611a99565b610100810190811067ffffffffffffffff821117611ae657604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117611ae657604052565b67ffffffffffffffff8111611ae65760051b60200190565b604435906001600160a01b0382168203611b4c57565b600080fd5b600435906001600160a01b0382168203611b4c57565b602435906001600160a01b0382168203611b4c57565b60005b838110611b905750506000910152565b8181015183820152602001611b80565b90602091611bb981518092818552858086019101611b7d565b601f01601f1916010190565b6101028054821015611bfc576000527f93bdaa6a4190909b7c3fbe8d42169ffe1cab19f51dfc8db24c71abf849eced4a0190600090565b634e487b7160e01b600052603260045260246000fd5b90816020910312611b4c57518015158103611b4c5790565b60ff60655416611c3657565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b51906001600160a01b0382168203611b4c57565b81601f82011215611b4c57805167ffffffffffffffff8111611ae65760405192611cb6601f8301601f191660200185611afc565b81845260208284010111611b4c57611cd49160208085019101611b7d565b90565b90602082820312611b4c57815167ffffffffffffffff92838211611b4c57019060a082820312611b4c576000052ea7cf0c9ae2adbe7796b4f32fb3f8ca100052611d2083611c6e565b84526020830151602085015260408301516040850152611d4260608401611c6e565b60608501526080830151908111611b4c57611d5d9201611c82565b608082015290565b90816020910312611b4c57516001600160a01b0381168103611b4c5790565b600160016000052ea7cf0c9ae2adbe7796b4f32fb3f8ca10004080842098861680855298825280842060010154909a999891959394919291908416158015611ebc575b611eaf57845284528883209083528352600488832093808a5195611dea87611ac9565b805487526007856001830154169182848a01528d6002820154908a0152600381015460608a01528581015460808a0152600581015460a08a015260068101546000052ea7cf0c9ae2adbe7796b4f32fb3f8ca1000131360e31b82525afa938415611ea45793611e85575b505033911603611e7457611e72949550611e6d8461238c565b6122b0565b565b85516325a2afeb60e01b8152600490fd5b611e9c929350803d106109285761091a8183611afc565b903880611e54565b8a51903d90823e3d90fd5b505000052ea7cf0c9ae2adbe7796b4f32fb3f8ca1000c7565b9160018060a01b0380931691600092808452602094610100865260409283862090868360c954169160248751809481936341f63bfd60e01b835260048301525afa9081156120d75790839188916120bd575b5051168652865282852095835192611f3184611ac9565b8754845282600189015416976007838601918a83526002810154888801526003810154606088015260048101546080880152600581015460a0880152600681015460c0880152015460e086015288156120b257828697989960049751978880926368d0612f60e01b82525afa95861561207357899661207d575b509082846004935116885193848092631f1b131360e31b82525afa91821561207357908392918a92612051575b5060249088519586938492630ed1279f60e11b84526004840152165afa94851561204857508694612011575b5050611cd4939450612194565b9080929450813d8311612041575b6120298183611afc565b810103126107b057611cd49394505191849338612004565b503d61201f565b513d88823e3d90fd5b602491925061206c90843d86116109285761091a8183611afc565b9190611fd8565b87513d8b823e3d90fd5b919095508282813d83116120ab575b6120968183611afc565b810103126120a75790519482611fab565b8880fd5b503d61208c565b505050505050915090565b6120d191503d808a833e61028c8183611afc565b38611f1a565b85513d89823e3d90fd5b156120e857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b60001981146121505760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015611bfc5760209160051b010190565b9190820391821161215057565b9190820180921161215057565b919060c0830151806121ab575b50611cd4926121eb565b00052ea7cf0c9ae2adbe7796b4f32fb3f8ca1000c69161243b565b8060a084015110156121d857386121a1565b50506080015190565b5050506080015190565b916121fa90604084015161261d565b6706f05b59d3b2000081019081811161215057811061227457670de0b6b3a764000061222e6122359360a08601519061217a565b910461265a565b60608201805161224d57506080611cd4920151612187565b9160800161225c828251612187565b835111612269575000052ea7cf0c9ae2adbe7796b4f32fb3f8ca1000461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b6044820152606490fd5b9291906122bc84612346565b6122c7575b50505050565b60018060a01b0380911660005261010060205260406000209060208501511660005260205260406000209060c084015142811061231e575b5061230e9083600594956121eb565b60048201550155388080806122c1565b92612329919361243b565b9283600019600684015560a082015110156122c1579291386122ff565b606081015180612375575b5060c0015180612362575b50600190565b60001914612370573861235c565b600090565b608082015110156123865738612351565b50600090565b6101028054801580156123ea575b6123a357505050565b680100000000000000008100075df3f6366b0557754cd3ba143591054140005b81549060031b9042821b91600019901b191617905542600052610101602052604060002055565b5060001981018181116121505761240090611bc5565b90549060031b1c610e1081018091116121505742101561239a565b8115612425570490565b634e487b7160e01b600052601260045260246000fd5b6101025460001980820194939160009190861161255c57859261245d87611bc5565b979054600398891b1c90158015612553575b6125325750505b8282106124c2575b509361249c612490611cd49596611bc5565b905490831b1c92611bc5565b9054911b1c90806000526101016020526040600020548260005260406000205490612570565b9182810181811161215057821461252c576124dd8183612187565b60011c906124ea82611bc5565b905490881b1c8086101561250057505091612476565b9093925080851115612513575090612476565b9495505050505060005261010160205260406000205490565b9161247e565b611cd496975083819492955060409350526101016020522054914292612570565b5080861161246f565b634e487b7160e01b82526011600452602482fd5b929391612584816125848661258a9561217a565b9461217a565b906b033b2e3c9fd0803ce80000009384810294818604811482151715612150578504036125e1576125be8260011c85612187565b938410612274576125d56125db92611cd49561241b565b9061265a565b90612187565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b6044820152606490fd5b600092918015918215612634575b5050156125e157565b8082029450915081158285048214171561215057612652908461241b565b14388061262b565b906126649161261d565b6b019d971e4fe8401e74000000810190818111612150578110612274576b03__$52ea7cf0c9ae2adbe7796b4f32fb3

The compiler:
{ version: "0.8.18", settings: { optimizer: { runs: 200, enabled: true, }, viaIR: true, (without IR works fine) }, },

the package version "^1.10.0"

@nikitaVagin95
Copy link
Author

nikitaVagin95 commented Jun 20, 2023

Oh, and here's ^0.8.20 bytecode (before the replace) which works correctly
0x6080806040523461001657612694908161001b8239f35b5f80fdfe6080806040526004361015610012575f80fd5b5f9060e0908235821c90816301ffc9a714611a4d57508063171a8964146118fc57806332353ae8146118465780633ce917ab146116465780633f4ba83a14611535578063442b4a261461148a5780634485b501146113f557806347ccca02146113cc5780635c975abb146113a95780636f7ee4da146113665780637b1039991461133d5780638004298e1461130d5780638456cb591461123657806392f8eb941461120b5780639d6aed0b146111915780639e1f1cab146111575780639f8dbb7b14610ed4578063bd6846aa14610d29578063c0c53b8b14610a3b578063c34902631461033a578063c4ee936614610305578063ced3f029146102a65763ec1dfe711461011d575f80fd5b346102a25760403660031901126102a257610136611b3f565b9060243591838260405161014981611aba565b8281528260208201528260408201528260608201528260808201528260a08201528260c0820152015260018060a01b038082168552610100948560205260408120906024818460c95416604051928380926341f63bfd60e01b82528b60048301525afa9182156102965790818593610273575b505051165f5260205260405f206040519485926101d884611aba565b82548452806001840154169060208501918252600284015490604086019182526003850154926060870193845261023e60048701549560808901968752600760058901549860a08b01998a5260c060068201549b019a8b520154998b8d019a8b52611eaf565b855260405199518a52511660208901525160408801525160608701525160808601525160a08501525160c08401525190820152f35b61028f92503d8091833e6102878183611aeb565b810190611cbf565b5f806101bc565b604051903d90823e3d90fd5b5080fd5b82346103025760403660031901__$183737d697d7aa9b5df9988cbe11bc4947$__02ce611b3f565b16815260ff602052818120602435825260205220805490600260018201549101549060405192835260208301526040820152f35b80fd5b823461030257608036600319011261030257610337610322611b3f565b61032a611b25565b6064359160243590611d6c565b80f35b50346102a25760403660031901126102a257602435906002600154146109f6576002600155610367611c12565b60cc54604051630723eb0360e51b815233600482015290602090829060249082906001600160a01b03165afa9081156107555784916109c7575b506109b557600435156109a3573383526101006020526040832060248460018060a01b0360c95416604051928380926341f63bfd60e01b82528860048301525afa9081156108eb578591610989575b50516001600160a01b03168452602052604080842090519261041184611aba565b815480855260018301546001600160a01b031660208601819052600284015460408701526003840154606087015260048401546080870152600584015460a0870152600684015460c087015260079093015484860152911515918261097f575b50501561096d576020828101516040516368d0612f60e01b81529190829060049082906001600160a01b03165afa90811561075557849161093b575b50806104b881612366565b6104c184612323565b61080e575b5050608082015181830151809111610620575b506104e382612323565b1580610610575b1561058757503382526101006020526040822060018060a01b036020830151165f5260205261054560405f2060075f918281558260018201558260028201558260038201558260048201558260058201558260068201550155565b6020908101516001600160a01b0316825260cb90526040812080548015610573575f190190555b6001805580f35b634e487b7160e01b83526011600452602483fd5b6007903384526101006020526040842060018060a01b036020850151165f5260205260405f2092805184556001840160018060a01b036020830151166001600160601b0360a01b82541617905560408101516002850155606081015160038501556080810151600485015560a0810151600585015560c08101516006850155015191015561056c565b50808201516080830151146104ea565b61062d__$183737d697d7aa9b5df9988cbe11bc4947$__61080557828201516106489161215d565b610655818385015161216a565b8383015260208084015160405163669949ef60e11b815286929091829060049082906001600160a01b03165afa80156107fa5782906107b7575b60208601516040516306fdde0360e01b815292508390839060049082906001600160a01b03165afa9182156107ac578392610764575b506001600160a01b0381163b15610760576106ff9183604051809681958294632581e14f60e21b8452606060048501526064840190611b8c565b336024840152604483019190915203926001600160a01b03165af1801561075557156104d95767ffffffffffffffff819492941161074157604052915f6104d9565b634e487b7160e01b82526041600452602482fd5b6040513d86823e3d90fd5b8280fd5b9091503d8084833e6107768183611aeb565b81016020828203126107a857815167ffffffffffffffff81116107a45761079d9201611c6a565b905f6106c5565b8480fd5b8380fd5b6040513d85823e3d90fd5b506020813d6020116107f2575b816107d160209383611aeb565b810103126102a257516001600160a01b03811681036102a25760049061068f565b3d91506107c4565b6040513d84823e3d90fd5b50600435610648565b60c0840151428110610923575b505060a0830151811161082f575b806104c6565b602083810151604051631f1b131360e31b81529190829060049082906001600160a01b03165afa9081156108eb5760249160__$183737d697d7aa9b5df9988cbe11bc4947$__1b815233600482015292839182906001600160a01b03165afa80156108eb5785906108b7575b6108a7915082856121cd565b608084015260a08301525f610829565b506020813d6020116108e3575b816108d160209383611aeb565b810103126107a4576108a7905161089b565b3d91506108c4565b6040513d87823e3d90fd5b6109169150823d841161091c575b61090e8183611aeb565b810190611d4d565b5f61086a565b503d610904565b61092d925061240f565b5f1960c08401525f8061081b565b90506020813d602011610965575b8161095660209383611aeb565b810103126107a857515f6104ad565b3d9150610949565b604051633d77b3cb60e01b8152600490fd5b1490505f80610471565b61099d91503d8087833e6102878183611aeb565b5f6103f0565b604051633abe877f60e11b8152600490fd5b6040516333df015b60e01b8152600490fd5b6109e9915060203d6020116109ef575b6109e18183611aeb565b810190611bfa565b5f6103a1565b503d6109d7565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b8234610302576060366003190112610302576001600160a01b036004358181169081900361076057610a6b611b55565b604435928084168094036107a45784549160ff8360081c161592838094610d1c575b8015610d05575b15610ca95760ff1981811660011788559084610c98575b5086549560ff8760081c1692610ac0846120c7565b610ac9846120c7565b6040516301ffc9a760e01b808252633694124d60e21b600483015260209891908982602481865afa918215610c6e578c92610c79575b5081610c1c575b81610bc2575b5015610bb057610b71956001600160601b0360a01b92168260ca54161760ca558160c954161760c95560cc54161760cc55610b46826120c7565b610b4f826120c7565b60018055610b5c826120c7565b610b65826120c7565b606554166065556120c7565b610b79578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001916835560405160018152a181808280f35b60405163044aa57560e41b8152600490fd5b604051908152633df6cef760e01b600482015290508881602481875afa908115610c11578b91610bf4575b508b610b0c565b610c0b9150893d8b116109ef576109e18183611aeb565b8b610bed565b6040513d8d823e3d90fd5b604051818152637965db0b60e01b60048201529091508981602481878c165afa908115610c6e578c91610c51575b5090610b06565b610c6891508a3d8c116109ef576109e18183611aeb565b8c610c4a565b6040513d8e823e3d90fd5b610c919192508a3d8c116109ef576109e18183611aeb565b908c610aff565b61ffff191661010117875587610aab565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610a945750600160ff821614610a94565b50600160ff821610610a8d565b8234610302576060806003193601126102a257610d44611b3f565b60249167ffffffffffffffff908335828111610ed05736602382011215610ed057806004013592808411610ecc57600591368786851b83010111610ec857604493843590838211610ec45736602383011215610ec4578160040135938411610ec457368982860284010111610ec45760ca54604051632474521560e21b8152600481018c9052338b820152602095916001600160a01b039190879082908b90829086165afa908115610eb9578d91610e9c575b5015610e8a57818903610e78579798909716968a5b898110610e17578b80f35b81811015610e6557888c5260ff86526040808d2082891b87018d01358e5287528c208382028501808d0135825589810135600183015560640135600290910155610e6090612127565b610e0c565b634e487b7160e01b8c5260326004528a8cfd5b604051632aa3c3bf60e11b8152600490fd5b60405163036be76f60e61b8152600490fd5b610eb39150873d89116109ef576109e18183611aeb565b8d610df7565b6040513d8f823e3d90fd5b8980fd5b8780fd5b8680fd5b8580fd5b50346102a257602090816003193601126107605760043591610ef4611c12565b60cc54604051630723eb0360e51b81523360048201526001600160a01b03949183908290602490829089165afa9081156110cc57869161113a575b506109b5573385526101008252604085206024868660c95416604051928380926341f63bfd60e01b82528760048301525afa801561112f5786918891611115575b50511686528252604085209260405191610f8983611aba565b8454918284528660018701541690600786860197838952600281015460408801526003810154606088015260048101546080880152600581015460a0880152600681015460c08801520154908501521515918261110b575b50501561096d5760048285855116604051928380926368d0612f60e01b82525afa9384156110cc57859187956110d7575b50600491849161102187612366565b511660405192838092631f1b131360e31b82525afa80156110cc57839187916110af575b50602460405180978193630ed1279f60e11b8352336004840152165afa9182156108eb57859261107d575b5061033793503390612292565b90915083813d83116110a8575b6110948183611aeb565b810103126107a8576103379251905f611070565b503d61108a565b6110c69150823d841161091c5761090e8183611aeb565b5f611045565b6040513d88823e3d90fd5b84809296508193503d8311611104575b6110f18183611aeb565b81010312610ed057519284906004611012565b503d6110e7565b1490505f80610fe1565b61112991503d808a833e6102878183611aeb565b5f610f70565b6040513d89823e3d90fd5b6111519150833d85116109ef576109e18183611aeb565b5f610f2f565b823461030257602036600319011261030257600435906101025482101561030257602061118383611bb1565b90546040519160031b1c8152f35b82346103025780600319360112610302576040516040810181811067ffffffffffffffff8211176111f7576111f39250604052600e81526d2332b2a232b1b932b0b9b2b92b1960911b6020820152604051918291602083526020__$183737d697d7aa9b5df9988cbe11bc4947$__83526041600452602483fd5b8234610302576020366003190112610302576040602091600435815261010183522054604051908152f35b823461030257806003193601126103025760ca54604051632474521560e21b81527f5c91514091af31f62f596a314af7d5be40146b2f2355969392f055e12e0982fb600482015233602482015290602090829060449082906001600160a01b03165afa9081156107fa5782916112ef575b5015610e8a576112b5611c12565b600160ff1960655416176065557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586020604051338152a180f35b611307915060203d81116109ef576109e18183611aeb565b826112a7565b823461030257604036600319011261030257602061133561132c611b3f565b60243590611eaf565b604051908152f35b823461030257806003193601126103025760ca546040516001600160a01b039091168152602090f35b82346103025760203660031901126103025760409081906001600160a01b0361138d611b3f565b16815260cb602052206001815491015482519182526020820152f35b8234610302578060031936011261030257602060ff606554166040519015158152f35b823461030257806003193601126103025760c9546040516001600160a01b039091168152602090f35b82346103025760403660031901126103025761140f611b3f565b611417611b55565b60c95490916001600160a01b039182163303611478578116835261010060205260408320911682526020526103376040822060075f918281558260018201558260028201558260038201558260048201558260058201558260068201550155565b604051632a4b45b760e11b8152600490fd5b8234610302576040366003190112610302576114a4611b3f565b6001600160a01b038181168352610100602052604080842060c95491516341f63bfd60e01b8152602480356004830181905294929387918391829086165afa9081156110cc57866007946115129461133598979460409460209b9161151b575b505116825288522093611eaf565b9101549061215d565b61152f91503d8086833e6102878183611aeb565b8b611504565b823461030257806003193601126103025760ca54604051632474521560e21b81527f5a7d4408f4759dddd7fdfd0d21abd99341dc2f52cda14804988a9b2df20766d8600482015233602482015290602090829060449082906001600160a01b03165afa9081156107fa578291611628575b5015610e8a5760655460ff8116156115ec5760ff19166065557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6020604051338152a180f35b60405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606490fd5b611640915060203d81116109ef576109e18183611aeb565b826115a6565b50346102a25760803660031901126102a257611660611b25565b906001600160a01b0390606435828116908190036107a4578260c9541633036114785761168b611c12565b80855260209261010084528060408720951694858752845280600160408820015416611834576040516368d0612f60e01b81528481600481895afa90811561112f578791611807575b506116de81612366565b85875260cb855260408720958654600188015411156117f55780885260ff8652604088206024358952865260408820805480156117e357600796600260018401549301548015155f146117db57611735904261216a565b955b8b6040519a8b9661174788611aba565b600435885281880194818652604089019687526060890197885260c060808a0199858b5260a081019b8c52019a8b528d019a838c52835261010082526040832092525260408c2099518a5560018a019151166001600160601b0360a01b825416179055516002880155516003870155516004860155516005850155516006840155519101556117d68154612127565b905580f35b508a95611737565b604051630efac93f60e31b8152600490fd5b604051632c539eb360e21b8152600490fd5b90508481813d831161182d575b61181e8183611aeb565b81010312610ecc57515f6116d4565b503d611814565b60405163c1ccec5d60e01b8152600490fd5b823461030257604036600319011261030257611860611b3f565b60ca54604051632474521560e21b81527fc0fc8e4dc5cff6febdf550b80d566f654e2baf1a02ea1060208c2f8ab2dd1b6360048201523360248201526001600160a01b0392916020908290604490829087165afa9081156107555784916118de575b5015610e8a5716815260cb602052602435600160408320015580f35b6118f6915060203d81116109ef576109e18183611aeb565b846118c2565b8234610302576080366003190112610302576004359067ffffffffffffffff8083116102a257366023840112156102a257826004013561193b81611b0d565b936119496040519586611aeb565b81855260209160248387019160051b83010191368311610ed057602401905b828210611a2e5750505060243591821161076057366023830112156107605781600401359161199683611b0d565b926119a46040519485611aeb565b80845260248385019160051b83010191368311610ed057602401905b828210611a1f57505050506119d3611b25565b9060643593835b8151811015611a1b57611a1690611a1187866001600160a01b036119fe8588612149565b5116611a0a8589612149565b5190611d6c565b612127565b6119da565b8480f35b813581529083019083016119c0565b81356001600160a01b0381168103610ecc578152908301908301611968565b8390346102a25760203660031901126102a25760043563ffffffff60e01b811680910361076057602092506301ffc9a760e01b8114908115611aa9575b8115611a98575b5015158152f35b636c91bd0560e11b14905083611a91565b63cedc502360e01b81149150611a8a565b610100810190811067ffffffffffffffff821117611ad757604052565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117611ad757604052565b67ffffffffffffffff8111611ad75760051b60200190565b604435906001600160a01b0382168203611b3b57565b5f80fd5b600435906001600160a01b0382168203611b3b57565b602435906001600160a01b0382168203611b3b57565b5f5b838110611b7c5750505f910152565b8181015183820152602001611b6d565b90602091611ba581518092818552858086019101611b6b565b601f01601f1916010190565b6101028054821015611be6575f527f93bdaa6a4190909b7c3fbe8d42169ffe1cab19f51dfc8db24c71abf849eced4a01905f90565b634e487b7160e01b5f52603260045260245ffd5b90816020910312611b3b57518015158103611b3b5790565b60ff60655416611c1e57565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b51906001600160a01b0382168203611b3b57565b81601f82011215611b3b57805167ffffffffffffffff8111611ad75760405192611c9e601f8301601f191660200185611aeb565b81845260208284010111611b3b57611cbc9160208085019101611b6b565b90565b90602082820312611b3b57815167ffffffffffffffff92838211611b3b57019060a082820312611b3b576040519260a0840184811082821117611ad757604052611d0883611c56565b84526020830151602085015260408301516040850152611d2a60608401611c56565b60608501526080830151908111611b3b57611d459201611c6a565b608082015290565b90816020910312611b3b57516001600160a01b0381168103611b3b5790565b6001600160a01b038082165f8181526101006020818152604080842098861680855298825280842060010154909a999891959394919291908416158015611ea3575b611e9657845284528883209083528352600488832093808a5195611dd187611aba565b805487526007856001830154169182848a01528d6002820154908a0152600381015460608a01528581015460808a0152600581015460a08a0152600681015460c08a0152015460e08801528b5193848092631f1b131360e31b82525afa938415611e8b5793611e6c575b505033911603611e5b57611e59949550611e5484612366565b612292565b565b85516325a2afeb60e01b8152600490fd5b611e83929350803d1061091c5761090e8183611aeb565b905f80611e3b565b8a51903d90823e3d90fd5b5050505050505050509050565b5060ff60655416611dae565b9160018060a01b03809316915f92808452602094610100865260409283862090868360c954169160248751809481936341f63bfd60e01b835260048301525afa9081156120bd5790839188916120a3575b5051168652865282852095835192611f1784611aba565b8754845282600189015416976007838601918a83526002810154888801526003810154606088015260048101546080880152600581015460a0880152600681015460c0880152015460e0860152881561209857828697989960049751978880926368d0612f60e01b82525afa958615612059578996612063575b509082846004935116885193848092631f1b131360e31b82525afa91821561205957908392918a92612037575b5060249088519586938492630ed1279f60e11b84526004840152165afa94851561202e57508694611ff7575b5050611cbc939450612177565b9080929450813d8311612027575b61200f8183611aeb565b810103126107a457611cbc939450519184935f611fea565b503d612005565b513d88823e3d90fd5b602491925061205290843d861161091c5761090e8183611aeb565b9190611fbe565b87513d8b823e3d90fd5b919095508282813d8311612091575b61207c8183611aeb565b8101031261208d5790519482611f91565b8880fd5b503d612072565b505050505050915090565b6120b791503d808a833e6102878183611aeb565b5f611f00565b85513d89823e3d90fd5b156120ce57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b5f1981146121355760010190565b634e487b7160e01b5f52601160045260245ffd5b8051821015611be65760209160051b010190565b9190820391821161213557565b9190820180921161213557565b919060c08301518061218e575b50611cbc926121cd565b5f1981146121c3574281101561218457906121a89161240f565b8060a084015110156121ba575f612184565b50506080015190565b5050506080015190565b916121dc9060408401516125e9565b6706f05b59d3b2000081019081811161213557811061225657670de0b6b3a76400006122106122179360a08601519061215d565b9104612625565b60608201805161222f57506080611cbc92015161216a565b9160800161223e82825161216a565b83511161224b5750505190565b611cbc92505161216a565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6164642d6f766572666c6f7760601b6044820152606490fd5b92919061229e84612323565b6122a9575b50505050565b60018060a01b038091165f5261010060205260405f20906020850151165f5260205260405f209060c08401514281106122fc575b506122ec9083600594956121cd565b600482015501555f8080806122a3565b92612307919361240f565b92835f19600684015560a082015110156122a35792915f6122dd565b606081015180612350575b5060c001518061233f575b50600190565b5f191461234c575f612339565b5f90565b60808201511015612361575f61232e565b505f90565b6101028054801580156123c1575b61237d57505050565b68010000000000000000811015611ad75761239d91600182019055611bb1565b81549060031b9042821b915f19901b1916179055425f5261010160205260405f2055565b505f198101818111612135576123d690611bb1565b90549060031b1c610e10810180911161213557421015612374565b81156123fb570490565b634e487b7160e01b5f52601260045260245ffd5b610102545f198082019493915f9190861161252857859261242f87611bb1565b979054600398891b1c9015801561251f575b6124fe5750505b828210612490575b509361246e612462611cbc9596611bb1565b905490831b1c92611bb1565b9054911b1c90805f5261010160205260405f2054825f5260405f20549061253c565b918281018181116121355782146124f8576124ab818361216a565b60011c906124b882611bb1565b905490881b1c808610156124ce57505091612448565b90939250808511156124e1575090612448565b949550505050505f5261010160205260405f205490565b91612450565b611cbc9697508381949295506040935052610101602052205491429261253c565b50808611612441565b634e487b7160e01b82526011600452602482fd5b92939161255081612550866125569561215d565b9461215d565b906b033b2e3c9fd0803ce80000009384810294818604811482151715612135578504036125ad5761258a8260011c8561216a565b938410612256576125a16125a792611cbc956123f1565b90612625565b9061216a565b60405162461bcd60e51b815260206004820152601460248201527364732d6d6174682d6d756c2d6f766572666c6f7760601b6044820152606490fd5b5f929180159182156125ff575b5050156125ad57565b808202945091508115828504821417156121355761261d90846123f1565b145f806125f6565b9061262f916125e9565b6b019d971e4fe8401e74000000810190818111612135578110612256576b033b2e3c9fd0803ce800000090049056fea2646970667358221220f44058186a359af1ab4828c7aa0357fa49d1c9c91f4ebbc8678f9eebe816d0a264736f6c63430008140033

@frangio
Copy link
Contributor

frangio commented Jul 4, 2023

I'm not able to reproduce this. When I run the bytecode you shared through the function, it doesn't trigger the error.

Please share the Solidity code that causes this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants