From 4132dc90077bcb117a93deecacb5ae01e351c7c5 Mon Sep 17 00:00:00 2001 From: t4sk Date: Tue, 14 May 2024 12:07:50 +0900 Subject: [PATCH] Updates --- 404.html | 2 +- abi-decode/index.html | 2 +- abi-encode/index.html | 2 +- app/assembly-bin-exp/index.html | 2 +- app/bi-directional-payment-channel/index.html | 2 +- app/create2/index.html | 2 +- app/crowd-fund/index.html | 2 +- app/deploy-any-contract/index.html | 2 +- app/dutch-auction/index.html | 2 +- app/english-auction/index.html | 2 +- app/erc1155/index.html | 2 +- app/erc20/index.html | 2 +- app/erc721/index.html | 2 +- app/ether-wallet/index.html | 2 +- app/gasless-token-transfer/index.html | 2 +- app/iterable-mapping/index.html | 2 +- app/merkle-tree/index.html | 2 +- app/minimal-proxy/index.html | 2 +- app/multi-call/index.html | 2 +- app/multi-delegatecall/index.html | 2 +- app/multi-sig-wallet/index.html | 2 +- app/simple-bytecode-contract/index.html | 2 +- app/time-lock/index.html | 2 +- app/uni-directional-payment-channel/index.html | 2 +- app/upgradeable-proxy/index.html | 2 +- app/write-to-any-slot/index.html | 2 +- array/index.html | 2 +- assembly-error/index.html | 2 +- assembly-if/index.html | 2 +- assembly-loop/index.html | 2 +- assembly-math/index.html | 2 +- assembly-variable/index.html | 2 +- assets/{index-TYdfHI_G.js => index-BUsIwdpI.js} | 2 +- bitwise/index.html | 2 +- call/index.html | 2 +- calling-contract/index.html | 2 +- constants/index.html | 2 +- constructor/index.html | 2 +- data-locations/index.html | 2 +- defi/chainlink-price-oracle/index.html | 2 +- defi/constant-product-amm/index.html | 2 +- defi/constant-sum-amm/index.html | 2 +- defi/dai-proxy/index.html | 2 +- defi/discrete-staking-rewards/index.html | 2 +- defi/stable-swap-amm/index.html | 2 +- defi/staking-rewards/index.html | 2 +- defi/uniswap-v2-add-remove-liquidity/index.html | 2 +- defi/uniswap-v2-flash-swap/index.html | 2 +- defi/uniswap-v2-optimal-one-sided-supply/index.html | 2 +- defi/uniswap-v2/index.html | 2 +- defi/uniswap-v3-flash-swap/index.html | 2 +- defi/uniswap-v3-flash/index.html | 2 +- defi/uniswap-v3-liquidity/index.html | 2 +- defi/uniswap-v3-swap/index.html | 2 +- defi/vault/index.html | 2 +- delegatecall/index.html | 2 +- enum/index.html | 2 +- error/index.html | 2 +- ether-units/index.html | 2 +- events/index.html | 2 +- evm/memory/index.html | 2 +- evm/storage/index.html | 2 +- fallback/index.html | 2 +- first-app/index.html | 2 +- function-modifier/index.html | 2 +- function-selector/index.html | 2 +- function/index.html | 2 +- gas-golf/index.html | 2 +- gas/index.html | 2 +- hacks/accessing-private-data/index.html | 2 +- hacks/block-timestamp-manipulation/index.html | 2 +- hacks/contract-size/index.html | 2 +- hacks/delegatecall/index.html | 2 +- hacks/denial-of-service/index.html | 2 +- hacks/deploy-different-contracts-same-address/index.html | 2 +- hacks/front-running/index.html | 2 +- hacks/hiding-malicious-code-with-external-contract/index.html | 2 +- hacks/honeypot/index.html | 2 +- hacks/overflow/index.html | 2 +- hacks/phishing-with-tx-origin/index.html | 2 +- hacks/randomness/index.html | 2 +- hacks/re-entrancy/index.html | 2 +- hacks/self-destruct/index.html | 2 +- hacks/signature-replay/index.html | 2 +- hacks/vault-inflation/index.html | 2 +- hacks/weth-permit/index.html | 2 +- hashing/index.html | 2 +- hello-world/index.html | 2 +- if-else/index.html | 2 +- immutable/index.html | 2 +- import/index.html | 2 +- index.html | 2 +- inheritance/index.html | 2 +- interface/index.html | 2 +- library/index.html | 2 +- loop/index.html | 2 +- mapping/index.html | 2 +- new-contract/index.html | 2 +- payable/index.html | 2 +- primitives/index.html | 2 +- sending-ether/index.html | 2 +- shadowing-inherited-state-variables/index.html | 2 +- signature/index.html | 2 +- state-variables/index.html | 2 +- structs/index.html | 2 +- super/index.html | 2 +- tests/echidna/index.html | 2 +- transient-storage/index.html | 2 +- try-catch/index.html | 2 +- unchecked-math/index.html | 2 +- variables/index.html | 2 +- view-and-pure-functions/index.html | 2 +- visibility/index.html | 2 +- 113 files changed, 113 insertions(+), 113 deletions(-) rename assets/{index-TYdfHI_G.js => index-BUsIwdpI.js} (99%) diff --git a/404.html b/404.html index e824661ba..c4ad712bc 100644 --- a/404.html +++ b/404.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/abi-decode/index.html b/abi-decode/index.html index e824661ba..c4ad712bc 100644 --- a/abi-decode/index.html +++ b/abi-decode/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/abi-encode/index.html b/abi-encode/index.html index e824661ba..c4ad712bc 100644 --- a/abi-encode/index.html +++ b/abi-encode/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/assembly-bin-exp/index.html b/app/assembly-bin-exp/index.html index e824661ba..c4ad712bc 100644 --- a/app/assembly-bin-exp/index.html +++ b/app/assembly-bin-exp/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/bi-directional-payment-channel/index.html b/app/bi-directional-payment-channel/index.html index e824661ba..c4ad712bc 100644 --- a/app/bi-directional-payment-channel/index.html +++ b/app/bi-directional-payment-channel/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/create2/index.html b/app/create2/index.html index e824661ba..c4ad712bc 100644 --- a/app/create2/index.html +++ b/app/create2/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/crowd-fund/index.html b/app/crowd-fund/index.html index e824661ba..c4ad712bc 100644 --- a/app/crowd-fund/index.html +++ b/app/crowd-fund/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/deploy-any-contract/index.html b/app/deploy-any-contract/index.html index e824661ba..c4ad712bc 100644 --- a/app/deploy-any-contract/index.html +++ b/app/deploy-any-contract/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/dutch-auction/index.html b/app/dutch-auction/index.html index e824661ba..c4ad712bc 100644 --- a/app/dutch-auction/index.html +++ b/app/dutch-auction/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/english-auction/index.html b/app/english-auction/index.html index e824661ba..c4ad712bc 100644 --- a/app/english-auction/index.html +++ b/app/english-auction/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/erc1155/index.html b/app/erc1155/index.html index e824661ba..c4ad712bc 100644 --- a/app/erc1155/index.html +++ b/app/erc1155/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/erc20/index.html b/app/erc20/index.html index e824661ba..c4ad712bc 100644 --- a/app/erc20/index.html +++ b/app/erc20/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/erc721/index.html b/app/erc721/index.html index e824661ba..c4ad712bc 100644 --- a/app/erc721/index.html +++ b/app/erc721/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/ether-wallet/index.html b/app/ether-wallet/index.html index e824661ba..c4ad712bc 100644 --- a/app/ether-wallet/index.html +++ b/app/ether-wallet/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/gasless-token-transfer/index.html b/app/gasless-token-transfer/index.html index e824661ba..c4ad712bc 100644 --- a/app/gasless-token-transfer/index.html +++ b/app/gasless-token-transfer/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/iterable-mapping/index.html b/app/iterable-mapping/index.html index e824661ba..c4ad712bc 100644 --- a/app/iterable-mapping/index.html +++ b/app/iterable-mapping/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/merkle-tree/index.html b/app/merkle-tree/index.html index e824661ba..c4ad712bc 100644 --- a/app/merkle-tree/index.html +++ b/app/merkle-tree/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/minimal-proxy/index.html b/app/minimal-proxy/index.html index e824661ba..c4ad712bc 100644 --- a/app/minimal-proxy/index.html +++ b/app/minimal-proxy/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/multi-call/index.html b/app/multi-call/index.html index e824661ba..c4ad712bc 100644 --- a/app/multi-call/index.html +++ b/app/multi-call/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/multi-delegatecall/index.html b/app/multi-delegatecall/index.html index e824661ba..c4ad712bc 100644 --- a/app/multi-delegatecall/index.html +++ b/app/multi-delegatecall/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/multi-sig-wallet/index.html b/app/multi-sig-wallet/index.html index e824661ba..c4ad712bc 100644 --- a/app/multi-sig-wallet/index.html +++ b/app/multi-sig-wallet/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/simple-bytecode-contract/index.html b/app/simple-bytecode-contract/index.html index e824661ba..c4ad712bc 100644 --- a/app/simple-bytecode-contract/index.html +++ b/app/simple-bytecode-contract/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/time-lock/index.html b/app/time-lock/index.html index e824661ba..c4ad712bc 100644 --- a/app/time-lock/index.html +++ b/app/time-lock/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/uni-directional-payment-channel/index.html b/app/uni-directional-payment-channel/index.html index e824661ba..c4ad712bc 100644 --- a/app/uni-directional-payment-channel/index.html +++ b/app/uni-directional-payment-channel/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/upgradeable-proxy/index.html b/app/upgradeable-proxy/index.html index e824661ba..c4ad712bc 100644 --- a/app/upgradeable-proxy/index.html +++ b/app/upgradeable-proxy/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/app/write-to-any-slot/index.html b/app/write-to-any-slot/index.html index e824661ba..c4ad712bc 100644 --- a/app/write-to-any-slot/index.html +++ b/app/write-to-any-slot/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/array/index.html b/array/index.html index e824661ba..c4ad712bc 100644 --- a/array/index.html +++ b/array/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/assembly-error/index.html b/assembly-error/index.html index e824661ba..c4ad712bc 100644 --- a/assembly-error/index.html +++ b/assembly-error/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/assembly-if/index.html b/assembly-if/index.html index e824661ba..c4ad712bc 100644 --- a/assembly-if/index.html +++ b/assembly-if/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/assembly-loop/index.html b/assembly-loop/index.html index e824661ba..c4ad712bc 100644 --- a/assembly-loop/index.html +++ b/assembly-loop/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/assembly-math/index.html b/assembly-math/index.html index e824661ba..c4ad712bc 100644 --- a/assembly-math/index.html +++ b/assembly-math/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/assembly-variable/index.html b/assembly-variable/index.html index e824661ba..c4ad712bc 100644 --- a/assembly-variable/index.html +++ b/assembly-variable/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/assets/index-TYdfHI_G.js b/assets/index-BUsIwdpI.js similarity index 99% rename from assets/index-TYdfHI_G.js rename to assets/index-BUsIwdpI.js index c72c5b8a5..9527d0375 100644 --- a/assets/index-TYdfHI_G.js +++ b/assets/index-BUsIwdpI.js @@ -12124,4 +12124,4 @@ echidna EchidnaTestTimeAndCaller.sol --contract EchidnaTestTimeAndCaller return internalFunc(); } } -`,L2=({prev:s,next:a})=>r.jsx(A,{version:E2,title:Q2,description:T2,html:_2,prev:s,next:a,codes:U2}),O2=({size:s,className:a=""})=>r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:s,height:s,className:a,children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})}),P2="_component_efeb7_1",$2="_icon_efeb7_8",q2="_input_efeb7_12",Ie={component:P2,icon:$2,input:q2},sB=({value:s,onChange:a})=>{function n(l){a(l.target.value)}return r.jsxs("div",{className:Ie.component,children:[r.jsx(O2,{size:18,className:Ie.icon}),r.jsx("input",{className:Ie.input,placeholder:"Search",value:s,onChange:n})]})},aB=({size:s,className:a=""})=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 113 113",xmlSpace:"preserve",width:s,height:s,className:a,children:[r.jsx("circle",{cx:56.5,cy:56.5,r:56.5,fill:"#453dff",stroke:"none"}),r.jsx("path",{fill:"#fff",stroke:"none",d:"M68.476 46.383c.454.796 1.36 1.82 2.155 1.82 4.31.227 8.62.113 13.157.113-.567-3.98-2.042-7.392-4.31-10.462-1.361-1.706-1.701-2.957-.34-4.89 1.36-1.82 2.381-4.094 3.63-6.255-3.97-2.274-7.827-4.435-11.797-6.709-1.36 2.274-2.609 4.321-3.743 6.482-.68 1.365-1.36 1.706-2.949 1.478-3.63-.455-7.259-.91-10.888-.682-10.889.682-19.85 7.96-22.798 18.423-3.29 11.94-1.702 22.97 6.805 32.523-1.588 2.843-3.29 5.8-4.99 8.87 4.083 2.275 7.826 4.55 11.795 6.824 1.588-2.73 3.063-5.231 4.424-7.733.68-1.251 1.588-1.365 2.949-1.479 4.65 0 9.3.228 13.724-.682 9.3-1.82 17.354-10.803 18.375-20.128-4.084 0-7.94.113-11.91 0-1.588 0-2.609.455-3.403 1.933-4.537 7.62-15.312 8.87-21.21 2.502-5.557-5.914-5.557-18.764.114-24.677 6.011-6.141 16.56-4.777 21.21 2.729z"})]});var nB="Expected a function",Yo=NaN,lB="[object Symbol]",pB=/^\s+|\s+$/g,eB=/^[-+]0x[0-9a-f]+$/i,cB=/^0b[01]+$/i,tB=/^0o[0-7]+$/i,oB=parseInt,rB=typeof Il=="object"&&Il&&Il.Object===Object&&Il,iB=typeof self=="object"&&self&&self.Object===Object&&self,gB=rB||iB||Function("return this")(),hB=Object.prototype,IB=hB.toString,dB=Math.max,CB=Math.min,de=function(){return gB.Date.now()};function jB(s,a,n){var l,p,e,c,t,o,i=0,I=!1,d=!1,j=!0;if(typeof s!="function")throw new TypeError(nB);a=Ro(a)||0,ic(n)&&(I=!!n.leading,d="maxWait"in n,e=d?dB(Ro(n.maxWait)||0,a):e,j="trailing"in n?!!n.trailing:j);function u(k){var G=l,Y=p;return l=p=void 0,i=k,c=s.apply(Y,G),c}function m(k){return i=k,t=setTimeout(h,a),I?u(k):c}function b(k){var G=k-o,Y=k-i,x=a-G;return d?CB(x,e-Y):x}function Z(k){var G=k-o,Y=k-i;return o===void 0||G>=a||G<0||d&&Y>=e}function h(){var k=de();if(Z(k))return g(k);t=setTimeout(h,b(k))}function g(k){return t=void 0,j&&l?u(k):(l=p=void 0,c)}function C(){t!==void 0&&clearTimeout(t),i=0,l=o=p=t=void 0}function y(){return t===void 0?c:g(de())}function W(){var k=de(),G=Z(k);if(l=arguments,p=this,o=k,G){if(t===void 0)return m(o);if(d)return t=setTimeout(h,a),u(o)}return t===void 0&&(t=setTimeout(h,a)),c}return W.cancel=C,W.flush=y,W}function ic(s){var a=typeof s;return!!s&&(a=="object"||a=="function")}function AB(s){return!!s&&typeof s=="object"}function uB(s){return typeof s=="symbol"||AB(s)&&IB.call(s)==lB}function Ro(s){if(typeof s=="number")return s;if(uB(s))return Yo;if(ic(s)){var a=typeof s.valueOf=="function"?s.valueOf():s;s=ic(a)?a+"":a}if(typeof s!="string")return s===0?s:+s;s=s.replace(pB,"");var n=cB.test(s);return n||tB.test(s)?oB(s.slice(2),n?2:8):eB.test(s)?Yo:+s}var yB=jB;const mB=Fo(yB),bB={leading:!1,trailing:!0};function wB(s,a,n){return B.useCallback(mB(s,a,bB),n)}function kB(s,a){let n=s;for(let l=0;l0;){const[e,c,t]=a.pop();p&&(l=l.slice(0,c-1),p=!1),l+=e;const o=Object.keys(t);if(o.length>0)for(let i=0;ia+p)}const BB=["/visibility"],GB=["/visibility","/view-and-pure-functions","/sending-ether","/hashing","/function-selector","/function-modifier","/function","/fallback","/delegatecall","/calling-contract","/call"],VB=["/visibility"],fB=["/visibility","/hacks/hiding-malicious-code-with-external-contract"],YB=["/view-and-pure-functions"],RB=["/view-and-pure-functions"],XB=["/variables","/structs","/state-variables","/shadowing-inherited-state-variables","/primitives","/mapping","/immutable","/evm/storage","/ether-units","/enum","/constants","/assembly-variable","/array"],vB=["/variables","/structs","/state-variables","/shadowing-inherited-state-variables","/primitives","/mapping","/immutable","/ether-units","/enum","/constants","/array"],NB=["/variables"],HB=["/variables"],FB=["/variables","/state-variables","/shadowing-inherited-state-variables","/evm/storage"],KB=["/variables","/structs","/primitives","/mapping","/immutable","/hacks/accessing-private-data","/evm/storage","/evm/memory","/ether-units","/enum","/data-locations","/constants","/array","/app/iterable-mapping"],MB=["/unchecked-math","/gas-golf","/gas"],SB=["/unchecked-math"],xB=["/unchecked-math","/assembly-math","/app/assembly-bin-exp"],JB=["/unchecked-math","/hacks/overflow"],zB=["/unchecked-math","/hacks/overflow"],DB=["/try-catch","/error","/assembly-error"],EB=["/try-catch","/error"],QB=["/transient-storage"],TB=["/transient-storage","/hacks/accessing-private-data","/evm/storage","/data-locations","/app/write-to-any-slot"],UB=["/tests/echidna"],_B=["/tests/echidna"],LB=["/super","/calling-contract"],OB=["/super"],PB=["/super","/new-contract","/interface","/inheritance","/hello-world","/hacks/hiding-malicious-code-with-external-contract","/hacks/deploy-different-contracts-same-address","/hacks/contract-size","/first-app","/delegatecall","/constructor","/calling-contract","/call","/app/simple-bytecode-contract","/app/minimal-proxy","/app/deploy-any-contract","/app/create2"],$B=["/super","/new-contract","/interface","/inheritance","/first-app","/delegatecall","/calling-contract","/call"],qB=["/super","/shadowing-inherited-state-variables","/inheritance","/constructor"],sG=["/structs"],aG=["/structs"],nG=["/structs","/primitives"],lG=["/structs","/primitives"],pG=["/state-variables"],eG=["/state-variables"],cG=["/state-variables","/hello-world","/first-app","/app/write-to-any-slot","/app/upgradeable-proxy","/app/uni-directional-payment-channel","/app/time-lock","/app/simple-bytecode-contract","/app/multi-sig-wallet","/app/multi-delegatecall","/app/multi-call","/app/minimal-proxy","/app/merkle-tree","/app/iterable-mapping","/app/gasless-token-transfer","/app/ether-wallet","/app/erc721","/app/erc20","/app/erc1155","/app/english-auction","/app/dutch-auction","/app/deploy-any-contract","/app/crowd-fund","/app/create2","/app/bi-directional-payment-channel"],tG=["/state-variables","/hello-world","/first-app","/app/write-to-any-slot","/app/upgradeable-proxy","/app/uni-directional-payment-channel","/app/time-lock","/app/simple-bytecode-contract","/app/multi-sig-wallet","/app/multi-delegatecall","/app/multi-call","/app/minimal-proxy","/app/merkle-tree","/app/iterable-mapping","/app/gasless-token-transfer","/app/ether-wallet","/app/erc721","/app/erc20","/app/erc1155","/app/english-auction","/app/dutch-auction","/app/deploy-any-contract","/app/crowd-fund","/app/create2","/app/bi-directional-payment-channel"],oG=["/signature","/hashing","/hacks/signature-replay","/app/uni-directional-payment-channel","/app/merkle-tree","/app/bi-directional-payment-channel"],rG=["/signature"],iG=["/signature"],gG=["/signature","/hacks/signature-replay","/app/uni-directional-payment-channel","/app/multi-sig-wallet","/app/bi-directional-payment-channel"],hG=["/signature"],IG=["/signature"],dG=["/shadowing-inherited-state-variables"],CG=["/shadowing-inherited-state-variables"],jG=["/sending-ether"],AG=["/sending-ether","/sending-ether","/payable","/fallback"],uG=["/sending-ether","/payable","/fallback","/ether-units","/app/ether-wallet"],yG=["/sending-ether","/payable","/fallback","/app/ether-wallet"],mG=["/sending-ether","/fallback","/app/gasless-token-transfer"],bG=["/sending-ether","/delegatecall","/calling-contract","/call","/app/multi-call"],wG=["/sending-ether","/fallback"],kG=["/sending-ether","/fallback"],ZG=["/sending-ether","/payable","/fallback"],WG=["/primitives"],BG=["/primitives"],GG=["/primitives"],VG=["/primitives"],fG=["/primitives"],YG=["/primitives","/hacks/deploy-different-contracts-same-address","/app/create2"],RG=["/primitives"],XG=["/primitives"],vG=["/new-contract","/hacks/deploy-different-contracts-same-address"],NG=["/new-contract"],HG=["/new-contract","/hacks/deploy-different-contracts-same-address","/app/create2"],FG=["/new-contract","/hacks/deploy-different-contracts-same-address"],KG=["/mapping","/app/iterable-mapping"],MG=["/loop","/assembly-loop"],SG=["/loop"],xG=["/library"],JG=["/interface"],zG=["/inheritance"],DG=["/inheritance"],EG=["/inheritance"],QG=["/immutable","/defi/constant-sum-amm","/defi/constant-product-amm","/constants"],TG=["/immutable","/constants"],UG=["/immutable"],_G=["/immutable"],LG=["/if-else"],OG=["/if-else"],PG=["/if-else"],$G=["/hello-world"],qG=["/hello-world"],sV=["/hashing"],aV=["/hashing"],nV=["/hashing"],lV=["/hacks/weth-permit","/hacks/vault-inflation","/hacks/signature-replay","/hacks/self-destruct","/hacks/re-entrancy","/hacks/randomness","/hacks/phishing-with-tx-origin","/hacks/overflow","/hacks/honeypot","/hacks/hiding-malicious-code-with-external-contract","/hacks/front-running","/hacks/deploy-different-contracts-same-address","/hacks/denial-of-service","/hacks/delegatecall","/hacks/contract-size","/hacks/block-timestamp-manipulation","/hacks/accessing-private-data"],pV=["/hacks/weth-permit","/hacks/vault-inflation","/hacks/signature-replay","/hacks/self-destruct","/hacks/re-entrancy","/hacks/randomness","/hacks/phishing-with-tx-origin","/hacks/overflow","/hacks/honeypot","/hacks/hiding-malicious-code-with-external-contract","/hacks/front-running","/hacks/deploy-different-contracts-same-address","/hacks/denial-of-service","/hacks/delegatecall","/hacks/contract-size","/hacks/block-timestamp-manipulation","/hacks/accessing-private-data"],eV=["/hacks/weth-permit"],cV=["/hacks/weth-permit","/app/gasless-token-transfer"],tV=["/hacks/vault-inflation"],oV=["/hacks/vault-inflation"],rV=["/hacks/vault-inflation","/defi/vault"],iV=["/hacks/signature-replay"],gV=["/hacks/self-destruct"],hV=["/hacks/randomness"],IV=["/hacks/randomness"],dV=["/hacks/randomness"],CV=["/hacks/randomness"],jV=["/hacks/randomness","/hacks/block-timestamp-manipulation"],AV=["/hacks/randomness","/hacks/block-timestamp-manipulation"],uV=["/hacks/phishing-with-tx-origin"],yV=["/hacks/overflow"],mV=["/hacks/honeypot"],bV=["/hacks/hiding-malicious-code-with-external-contract"],wV=["/hacks/hiding-malicious-code-with-external-contract"],kV=["/hacks/hiding-malicious-code-with-external-contract"],ZV=["/hacks/hiding-malicious-code-with-external-contract"],WV=["/hacks/front-running"],BV=["/hacks/front-running"],GV=["/hacks/deploy-different-contracts-same-address","/app/deploy-any-contract"],VV=["/hacks/deploy-different-contracts-same-address"],fV=["/hacks/deploy-different-contracts-same-address"],YV=["/hacks/denial-of-service"],RV=["/hacks/denial-of-service"],XV=["/hacks/delegatecall","/delegatecall","/app/upgradeable-proxy","/app/multi-delegatecall"],vV=["/hacks/contract-size"],NV=["/hacks/contract-size"],HV=["/hacks/contract-size"],FV=["/hacks/contract-size"],KV=["/hacks/block-timestamp-manipulation"],MV=["/hacks/accessing-private-data"],SV=["/hacks/accessing-private-data"],xV=["/gas-golf"],JV=["/function-selector"],zV=["/function-selector"],DV=["/function-modifier"],EV=["/function-modifier"],QV=["/function-modifier"],TV=["/first-app"],UV=["/first-app"],_V=["/evm/storage","/evm/memory"],LV=["/evm/storage","/evm/memory","/assembly-variable","/assembly-math","/assembly-loop","/assembly-if","/assembly-error","/app/assembly-bin-exp"],OV=["/evm/storage","/evm/memory","/bitwise","/assembly-variable","/assembly-math","/assembly-loop","/assembly-if","/assembly-error","/app/assembly-bin-exp"],PV=["/evm/memory","/data-locations"],$V=["/events"],qV=["/events"],sf=["/ether-units"],af=["/ether-units"],nf=["/error"],lf=["/error","/assembly-error"],pf=["/error"],ef=["/enum"],cf=["/defi/vault","/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash","/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2","/defi/staking-rewards","/defi/stable-swap-amm","/defi/discrete-staking-rewards","/defi/dai-proxy","/defi/constant-sum-amm","/defi/constant-product-amm","/defi/chainlink-price-oracle"],tf=["/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash","/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2"],of=["/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash"],rf=["/defi/uniswap-v3-swap","/defi/uniswap-v3-flash-swap","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2","/defi/stable-swap-amm"],gf=["/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash","/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2","/defi/stable-swap-amm","/defi/constant-sum-amm","/defi/constant-product-amm"],hf=["/defi/uniswap-v3-liquidity","/defi/uniswap-v2-add-remove-liquidity"],If=["/defi/uniswap-v3-flash-swap"],df=["/defi/uniswap-v3-flash","/defi/uniswap-v2-flash-swap"],Cf=["/defi/uniswap-v3-flash"],jf=["/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2"],Af=["/defi/uniswap-v2-optimal-one-sided-supply"],uf=["/defi/uniswap-v2-optimal-one-sided-supply"],yf=["/defi/uniswap-v2-optimal-one-sided-supply"],mf=["/defi/uniswap-v2-optimal-one-sided-supply"],bf=["/defi/uniswap-v2-add-remove-liquidity","/assembly-math"],wf=["/defi/uniswap-v2-add-remove-liquidity"],kf=["/defi/staking-rewards","/defi/discrete-staking-rewards"],Zf=["/defi/staking-rewards","/defi/discrete-staking-rewards"],Wf=["/defi/staking-rewards","/defi/discrete-staking-rewards"],Bf=["/defi/stable-swap-amm"],Gf=["/defi/stable-swap-amm"],Vf=["/defi/discrete-staking-rewards"],ff=["/defi/dai-proxy"],Yf=["/defi/dai-proxy","/app/upgradeable-proxy","/app/minimal-proxy"],Rf=["/defi/constant-sum-amm"],Xf=["/defi/constant-product-amm"],vf=["/defi/chainlink-price-oracle"],Nf=["/defi/chainlink-price-oracle"],Hf=["/defi/chainlink-price-oracle"],Ff=["/defi/chainlink-price-oracle"],Kf=["/data-locations"],Mf=["/data-locations"],Sf=["/data-locations"],xf=["/constructor"],Jf=["/constructor"],zf=["/calling-contract"],Df=["/bitwise"],Ef=["/bitwise"],Qf=["/bitwise"],Tf=["/bitwise"],Uf=["/assembly-math"],_f=["/array"],Lf=["/array"],Of=["/app/write-to-any-slot"],Pf=["/app/write-to-any-slot","/app/deploy-any-contract"],$f=["/app/write-to-any-slot"],qf=["/app/upgradeable-proxy"],s1=["/app/uni-directional-payment-channel","/app/bi-directional-payment-channel"],a1=["/app/uni-directional-payment-channel","/app/bi-directional-payment-channel"],n1=["/app/time-lock"],l1=["/app/time-lock"],p1=["/app/simple-bytecode-contract"],e1=["/app/simple-bytecode-contract"],c1=["/app/multi-sig-wallet","/app/multi-delegatecall","/app/multi-call"],t1=["/app/multi-sig-wallet"],o1=["/app/multi-sig-wallet","/app/ether-wallet"],r1=["/app/multi-call"],i1=["/app/minimal-proxy"],g1=["/app/merkle-tree"],h1=["/app/merkle-tree"],I1=["/app/iterable-mapping"],d1=["/app/gasless-token-transfer"],C1=["/app/gasless-token-transfer","/app/erc20"],j1=["/app/gasless-token-transfer"],A1=["/app/erc721"],u1=["/app/erc721"],y1=["/app/erc721","/app/erc1155"],m1=["/app/erc20"],b1=["/app/erc20"],w1=["/app/erc1155"],k1=["/app/erc1155"],Z1=["/app/english-auction"],W1=["/app/english-auction","/app/dutch-auction"],B1=["/app/english-auction","/app/dutch-auction"],G1=["/app/dutch-auction"],V1=["/app/crowd-fund"],f1=["/app/crowd-fund"],Y1=["/app/crowd-fund"],R1=["/app/create2"],X1=["/app/assembly-bin-exp"],v1=["/app/assembly-bin-exp"],N1=["/abi-encode","/abi-decode"],H1=["/abi-encode"],F1=["/abi-encode","/abi-decode"],K1=["/abi-encode"],M1=["/abi-encode"],S1=["/abi-encode"],x1=["/abi-decode"],Xo={visibility:BB,function:["/visibility","/view-and-pure-functions","/sending-ether","/hashing","/function-selector","/function-modifier","/function","/fallback","/delegatecall","/calling-contract","/call"],functions:GB,internal:VB,private:["/visibility","/hacks/accessing-private-data"],public:["/visibility"],external:fB,view:YB,pure:RB,variable:XB,variables:vB,local:NB,global:HB,state:FB,data:KB,gas:MB,unchecked:SB,math:xB,overflow:JB,underflow:zB,try:["/try-catch"],catch:["/try-catch"],error:DB,errors:EB,transient:QB,storage:TB,test:UB,echidna:_B,calling:LB,parent:OB,contract:PB,contracts:$B,inheritance:qB,super:["/super","/inheritance"],struct:sG,structs:aG,type:nG,types:lG,reading:pG,writing:eG,app:cG,application:tG,cryptography:oG,verify:rG,verifying:iG,signature:gG,signatures:hG,ecrecover:IG,shadow:dG,shadowing:CG,sending:jG,send:AG,ether:uG,eth:yG,transfer:mG,call:bG,fallback:wG,receive:kG,payable:ZG,primitive:WG,primitives:BG,boolean:GG,uint256:VG,int256:fG,address:YG,uint:RG,int:XG,new:["/new-contract","/new-contract"],create:vG,creates:NG,create2:HG,salt:FG,mapping:KG,for:["/loop","/assembly-loop"],loop:MG,loops:SG,while:["/loop","/assembly-loop"],do:["/loop"],library:xG,interface:["/interface"],interfaces:JG,override:zG,virtual:DG,is:EG,import:["/import","/enum"],constant:QG,constants:TG,immutable:UG,immutables:_G,if:["/if-else","/assembly-if"],else:["/if-else"],conditional:LG,statement:OG,statements:PG,hello:$G,world:qG,hash:sV,hashing:aV,keccak256:nV,hack:lV,security:pV,weth:eV,permit:cV,inflation:tV,erc4626:oV,vault:rV,replay:iV,selfdestruct:gV,"re-entrancy":["/hacks/re-entrancy"],source:hV,random:IV,randomness:dV,blockhash:CV,block:jV,timestamp:AV,phishing:uV,"tx.origin":["/hacks/phishing-with-tx-origin"],arithmetic:yV,honeypot:mV,hide:bV,hiding:wV,malicious:kV,code:ZV,front:WV,running:BV,deploy:GV,different:VV,same:fV,denial:YV,service:RV,delegatecall:XV,bypass:vV,size:NV,check:HV,extcodesize:FV,manipulation:KV,access:MV,accessing:SV,golf:xV,selector:JV,selectors:zV,modifier:DV,modifiers:EV,_:QV,first:TV,counter:UV,evm:_V,yul:LV,assembly:OV,memory:PV,event:$V,events:qV,wei:sf,units:af,require:nf,revert:lf,assert:pf,enum:["/enum"],imports:ef,defi:cf,uniswap:tf,v3:of,swap:rf,amm:gf,liquidity:hf,arbitrage:If,flash:df,loan:Cf,v2:jf,optimal:Af,one:uf,sided:yf,supply:mf,add:bf,remove:wf,staking:kf,reward:Zf,rewards:Wf,curve:Bf,stable:Gf,discrete:Vf,dai:ff,proxy:Yf,sum:Rf,product:Xf,chainlink:vf,price:Nf,oracle:Hf,oracles:Ff,location:Kf,locations:Mf,calldata:Sf,constructor:xf,constructors:Jf,other:zf,bitwise:Df,most:Ef,significant:Qf,bit:Tf,mul:Uf,switch:["/assembly-if"],array:_f,arrays:Lf,write:Of,any:Pf,slot:$f,upgradeable:qf,"uni-directional":["/app/uni-directional-payment-channel"],payment:s1,channel:a1,time:n1,lock:l1,simple:p1,bytecode:e1,multi:c1,sig:t1,wallet:o1,staticcall:r1,minimal:i1,merkle:g1,tree:h1,iterable:I1,gasless:d1,token:C1,ERC20:j1,erc721:A1,ierc721:u1,nft:y1,erc20:m1,ierc20:b1,erc1155:w1,ierc1155:k1,english:Z1,auction:W1,auctions:B1,dutch:G1,crowd:V1,fund:f1,funding:Y1,precompute:R1,"bi-directional":["/app/bi-directional-payment-channel"],binary:X1,exponentiation:v1,abi:N1,encode:H1,bytes:F1,encodeWithSelector:K1,encodeWithSignature:M1,encodeCall:S1,decode:x1},vo={"/visibility":["visibility","function","functions","internal","private","public","external"],"/view-and-pure-functions":["view","pure","function","functions"],"/variables":["variable","variables","local","global","state","data"],"/unchecked-math":["gas","unchecked","math","overflow","underflow"],"/try-catch":["try","catch","error","errors"],"/transient-storage":["transient","storage"],"/tests/echidna":["test","echidna"],"/super":["calling","parent","contract","contracts","inheritance","super"],"/structs":["struct","structs","data","type","types","variable","variables"],"/state-variables":["reading","writing","state","variable","variables","app","application"],"/signature":["cryptography","verify","verifying","signature","signatures","ecrecover"],"/shadowing-inherited-state-variables":["state","variables","variable","shadow","shadowing","inheritance"],"/sending-ether":["sending","send","ether","eth","transfer","send","call","fallback","receive","payable","function","functions"],"/primitives":["primitive","primitives","data","type","types","variable","variables","boolean","uint256","int256","address","uint","int"],"/payable":["payable","eth","send","ether"],"/new-contract":["new","contract","create","contracts","creates","new","create2","salt"],"/mapping":["data","variable","variables","mapping"],"/loop":["for","loop","loops","while","do"],"/library":["library"],"/interface":["interface","interfaces","contract","contracts"],"/inheritance":["inheritance","super","override","virtual","is","contract","contracts"],"/import":["import"],"/immutable":["constant","constants","immutable","immutables","data","variable","variables"],"/if-else":["if","else","conditional","statement","statements"],"/hello-world":["contract","app","application","hello","world"],"/hashing":["hash","hashing","function","functions","keccak256","cryptography"],"/hacks/weth-permit":["hack","security","weth","permit"],"/hacks/vault-inflation":["hack","security","inflation","erc4626","vault"],"/hacks/signature-replay":["hack","security","cryptography","signature","replay"],"/hacks/self-destruct":["hack","security","selfdestruct"],"/hacks/re-entrancy":["hack","security","re-entrancy"],"/hacks/randomness":["hack","security","source","random","randomness","blockhash","block","timestamp"],"/hacks/phishing-with-tx-origin":["hack","security","phishing","tx.origin"],"/hacks/overflow":["hack","security","arithmetic","overflow","underflow"],"/hacks/honeypot":["hack","security","honeypot"],"/hacks/hiding-malicious-code-with-external-contract":["hack","security","hide","hiding","malicious","code","external","contract"],"/hacks/front-running":["hack","security","front","running"],"/hacks/deploy-different-contracts-same-address":["hack","security","deploy","salt","create","create2","different","contract","same","address"],"/hacks/denial-of-service":["hack","security","denial","service"],"/hacks/delegatecall":["hack","security","delegatecall"],"/hacks/contract-size":["hack","security","bypass","contract","size","check","extcodesize"],"/hacks/block-timestamp-manipulation":["hack","security","block","timestamp","manipulation"],"/hacks/accessing-private-data":["hack","security","access","accessing","private","data","storage"],"/gas-golf":["gas","golf"],"/gas":["gas"],"/function-selector":["function","functions","selector","selectors"],"/function-modifier":["function","functions","modifier","modifiers","_"],"/function":["function","functions"],"/first-app":["contract","contracts","app","first","application","counter"],"/fallback":["fallback","function","functions","receive","payable","send","ether","eth","transfer"],"/evm/storage":["data","evm","storage","state","variable","yul","assembly"],"/evm/memory":["data","evm","memory","yul","assembly"],"/events":["event","events"],"/ether-units":["data","variables","variable","ether","wei","units"],"/error":["error","errors","require","revert","assert"],"/enum":["data","variable","variables","enum","import","imports"],"/delegatecall":["delegatecall","call","contract","contracts","function","functions"],"/defi/vault":["defi","vault"],"/defi/uniswap-v3-swap":["defi","uniswap","v3","swap","amm"],"/defi/uniswap-v3-liquidity":["defi","uniswap","v3","liquidity","amm"],"/defi/uniswap-v3-flash-swap":["defi","uniswap","v3","swap","arbitrage","amm"],"/defi/uniswap-v3-flash":["defi","uniswap","v3","flash","loan","amm"],"/defi/uniswap-v2-optimal-one-sided-supply":["defi","uniswap","v2","optimal","one","sided","supply","amm"],"/defi/uniswap-v2-flash-swap":["defi","uniswap","v2","flash","swap","amm"],"/defi/uniswap-v2-add-remove-liquidity":["defi","uniswap","v2","add","remove","liquidity","amm"],"/defi/uniswap-v2":["defi","uniswap","v2","swap","amm"],"/defi/staking-rewards":["defi","staking","reward","rewards"],"/defi/stable-swap-amm":["defi","curve","stable","swap","amm"],"/defi/discrete-staking-rewards":["defi","discrete","staking","reward","rewards"],"/defi/dai-proxy":["defi","dai","proxy"],"/defi/constant-sum-amm":["defi","constant","sum","amm"],"/defi/constant-product-amm":["defi","constant","product","amm"],"/defi/chainlink-price-oracle":["defi","chainlink","price","oracle","oracles"],"/data-locations":["data","location","locations","storage","memory","calldata"],"/constructor":["constructor","constructors","contract","inheritance"],"/constants":["constant","constants","data","variable","variables"],"/calling-contract":["calling","other","contract","contracts","call","function","functions"],"/call":["contract","contracts","call","function","functions"],"/bitwise":["bitwise","most","significant","bit","assembly"],"/assembly-variable":["assembly","variable","yul"],"/assembly-math":["assembly","yul","math","add","mul"],"/assembly-loop":["assembly","loop","yul","while","for"],"/assembly-if":["assembly","yul","if","switch"],"/assembly-error":["assembly","yul","error","revert"],"/array":["data","variable","variables","array","arrays"],"/app/write-to-any-slot":["app","application","write","any","slot","storage"],"/app/upgradeable-proxy":["app","application","delegatecall","upgradeable","proxy"],"/app/uni-directional-payment-channel":["app","application","uni-directional","payment","channel","signature","cryptography"],"/app/time-lock":["app","application","time","lock"],"/app/simple-bytecode-contract":["app","application","simple","bytecode","contract"],"/app/multi-sig-wallet":["app","application","multi","sig","signature","wallet"],"/app/multi-delegatecall":["app","application","multi","delegatecall"],"/app/multi-call":["app","application","multi","call","staticcall"],"/app/minimal-proxy":["app","application","minimal","proxy","contract"],"/app/merkle-tree":["app","application","merkle","tree","cryptography"],"/app/iterable-mapping":["app","application","mapping","data","iterable"],"/app/gasless-token-transfer":["app","application","gasless","token","transfer","ERC20","permit"],"/app/ether-wallet":["app","application","ether","eth","wallet"],"/app/erc721":["app","application","erc721","ierc721","nft"],"/app/erc20":["app","application","erc20","ierc20","token"],"/app/erc1155":["app","application","erc1155","nft","ierc1155"],"/app/english-auction":["app","application","english","auction","auctions"],"/app/dutch-auction":["app","application","dutch","auction","auctions"],"/app/deploy-any-contract":["app","application","deploy","any","contract"],"/app/crowd-fund":["app","application","crowd","fund","funding"],"/app/create2":["app","application","create2","precompute","contract","address"],"/app/bi-directional-payment-channel":["app","application","bi-directional","payment","channel","signature","cryptography"],"/app/assembly-bin-exp":["assembly","yul","binary","exponentiation","math"],"/abi-encode":["abi","encode","bytes","encodeWithSelector","encodeWithSignature","encodeCall"],"/abi-decode":["abi","decode","bytes"]},jg=[];for(const s of Object.keys(vo))jg.push(...vo[s]);const Ag={};for(const s of jg)kB(Ag,s);function J1(s){return Array.from(new Set(s))}function z1(s){const a=[],n=WB(Ag,s.toLowerCase());for(const l of n)Xo[l]&&a.push(...Xo[l]);return a}const D1="_component_ri31z_1",E1="_updates_ri31z_8",Q1="_category_ri31z_13",T1="_search_ri31z_16",U1="_listItem_ri31z_20",_1="_label_ri31z_28",L1="_header_ri31z_31",O1="_youTube_ri31z_34",P1="_youTubeLogo_ri31z_40",$1="_cryptoJobsList_ri31z_44",q1="_cryptoJobsListLogo_ri31z_50",as={component:D1,updates:E1,category:Q1,search:T1,listItem:U1,label:_1,header:L1,youTube:O1,youTubeLogo:P1,cryptoJobsList:$1,cryptoJobsListLogo:q1},sY=["2024/05/14 - GitHub PR by open-dev-top","2024/04/19 - EVM memory","2024/04/07 - Fix WETH permit hack"];function aY(){const[s,a]=B.useState(""),[n,l]=xd(),[p,e]=B.useState(null);B.useEffect(()=>{const I=n.get("q");I!=null&&I.length>0&&(a(I),c(I,!1))},[]);function c(I,d){const j=I.trim();if(j.length==0){e(null),d&&l({q:""});return}const u=J1(j.split(" ")),m={};for(const b of u){const Z=z1(b);for(const h of Z)m[h]=!0}e(m),d&&l({q:j})}const t=wB(I=>c(I,!0),500,[]);function o(I){a(I),t(I)}function i(){return p?Object.keys(p).length==0?r.jsx("div",{children:"No results"}):r.jsx("ul",{className:as.list,children:Cp.filter(({path:I})=>p[I]).map(({path:I,title:d})=>r.jsx("li",{className:as.listItem,children:r.jsx("a",{href:I,children:d})},I))}):r.jsxs(r.Fragment,{children:[tt.map(({routes:I,title:d},j)=>r.jsxs("div",{children:[d&&r.jsx("h3",{className:as.category,children:d}),r.jsx("ul",{className:as.list,children:I.map(({path:u,title:m})=>r.jsx("li",{className:as.listItem,children:r.jsx("a",{href:u,children:m})},u))})]},j)),r.jsxs("div",{children:[r.jsx("h3",{className:as.category,children:"Translations"}),Od.map(({lang:I,url:d})=>r.jsx("li",{className:as.listItem,children:r.jsx("a",{href:d,target:"__blank",children:I})},d))]})]})}return r.jsxs("div",{className:as.component,children:[r.jsx(Cg,{title:"Solidity by Example | 0.8.24",description:"Learn smart contract programming using Solidity"}),r.jsx("h1",{className:as.header,children:r.jsx("a",{href:"/",children:"Solidity by Example"})}),r.jsx("div",{className:as.subHeader,children:"v 0.8.24"}),r.jsxs("div",{className:as.main,children:[r.jsxs("p",{children:["Introduction to ",r.jsx("a",{href:"https://solidity.readthedocs.io",children:"Solidity"})," with simple examples"]}),r.jsxs("div",{className:as.youTube,children:[r.jsx("img",{src:dg,alt:"logo",className:as.youTubeLogo}),r.jsx("a",{href:"https://www.youtube.com/@smartcontractprogrammer",target:"__blank",children:"Most code are explained here"})]}),r.jsxs("div",{className:as.cryptoJobsList,children:[r.jsx(aB,{size:24,className:as.cryptoJobsListLogo}),r.jsx("a",{href:Ig,target:"__blank",children:"Looking for Solidity jobs?"})]}),r.jsx("div",{className:as.updates,children:sY.map((I,d)=>r.jsx("div",{children:I},d))}),r.jsx("div",{className:as.search,children:r.jsx(sB,{value:s,onChange:o})}),i()]})]})}const nY=[{path:"/abi-decode",component:DC},{path:"/abi-encode",component:LC},{path:"/app/assembly-bin-exp",component:aj},{path:"/app/bi-directional-payment-channel",component:tj},{path:"/app/create2",component:Ij},{path:"/app/crowd-fund",component:yj},{path:"/app/deploy-any-contract",component:Wj},{path:"/app/dutch-auction",component:Rj},{path:"/app/english-auction",component:Kj},{path:"/app/erc1155",component:Dj},{path:"/app/erc20",component:Lj},{path:"/app/erc721",component:aA},{path:"/app/ether-wallet",component:tA},{path:"/app/gasless-token-transfer",component:IA},{path:"/app/iterable-mapping",component:yA},{path:"/app/merkle-tree",component:WA},{path:"/app/minimal-proxy",component:RA},{path:"/app/multi-call",component:KA},{path:"/app/multi-delegatecall",component:DA},{path:"/app/multi-sig-wallet",component:LA},{path:"/app/simple-bytecode-contract",component:au},{path:"/app/time-lock",component:tu},{path:"/app/uni-directional-payment-channel",component:Iu},{path:"/app/upgradeable-proxy",component:yu},{path:"/app/write-to-any-slot",component:Wu},{path:"/array",component:Ru},{path:"/assembly-error",component:Ku},{path:"/assembly-if",component:Du},{path:"/assembly-loop",component:Lu},{path:"/assembly-math",component:ay},{path:"/assembly-variable",component:ty},{path:"/bitwise",component:Iy},{path:"/call",component:yy},{path:"/calling-contract",component:Wy},{path:"/constants",component:Ry},{path:"/constructor",component:Ky},{path:"/data-locations",component:Dy},{path:"/defi/chainlink-price-oracle",component:Ly},{path:"/defi/constant-product-amm",component:am},{path:"/defi/constant-sum-amm",component:tm},{path:"/defi/dai-proxy",component:Im},{path:"/defi/discrete-staking-rewards",component:ym},{path:"/defi/stable-swap-amm",component:Wm},{path:"/defi/staking-rewards",component:Rm},{path:"/defi/uniswap-v2",component:Km},{path:"/defi/uniswap-v2-add-remove-liquidity",component:Dm},{path:"/defi/uniswap-v2-flash-swap",component:Lm},{path:"/defi/uniswap-v2-optimal-one-sided-supply",component:ab},{path:"/defi/uniswap-v3-flash",component:tb},{path:"/defi/uniswap-v3-flash-swap",component:Ib},{path:"/defi/uniswap-v3-liquidity",component:yb},{path:"/defi/uniswap-v3-swap",component:Wb},{path:"/defi/vault",component:Rb},{path:"/delegatecall",component:Kb},{path:"/enum",component:Db},{path:"/error",component:Lb},{path:"/ether-units",component:aw},{path:"/events",component:tw},{path:"/evm/memory",component:Iw},{path:"/evm/storage",component:yw},{path:"/fallback",component:Ww},{path:"/first-app",component:Rw},{path:"/function",component:Kw},{path:"/function-modifier",component:Dw},{path:"/function-selector",component:Lw},{path:"/gas",component:ak},{path:"/gas-golf",component:tk},{path:"/hacks/accessing-private-data",component:Ik},{path:"/hacks/block-timestamp-manipulation",component:yk},{path:"/hacks/contract-size",component:Wk},{path:"/hacks/delegatecall",component:Rk},{path:"/hacks/denial-of-service",component:Kk},{path:"/hacks/deploy-different-contracts-same-address",component:Dk},{path:"/hacks/front-running",component:Lk},{path:"/hacks/hiding-malicious-code-with-external-contract",component:a0},{path:"/hacks/honeypot",component:t0},{path:"/hacks/overflow",component:I0},{path:"/hacks/phishing-with-tx-origin",component:y0},{path:"/hacks/randomness",component:W0},{path:"/hacks/re-entrancy",component:R0},{path:"/hacks/self-destruct",component:K0},{path:"/hacks/signature-replay",component:D0},{path:"/hacks/vault-inflation",component:L0},{path:"/hacks/weth-permit",component:aZ},{path:"/hashing",component:tZ},{path:"/hello-world",component:IZ},{path:"/if-else",component:yZ},{path:"/immutable",component:WZ},{path:"/import",component:RZ},{path:"/inheritance",component:KZ},{path:"/interface",component:DZ},{path:"/library",component:LZ},{path:"/loop",component:aW},{path:"/mapping",component:tW},{path:"/new-contract",component:IW},{path:"/payable",component:yW},{path:"/primitives",component:WW},{path:"/sending-ether",component:RW},{path:"/shadowing-inherited-state-variables",component:KW},{path:"/signature",component:DW},{path:"/state-variables",component:LW},{path:"/structs",component:a2},{path:"/super",component:t2},{path:"/tests/echidna",component:I2},{path:"/transient-storage",component:y2},{path:"/try-catch",component:W2},{path:"/unchecked-math",component:R2},{path:"/variables",component:K2},{path:"/view-and-pure-functions",component:D2},{path:"/visibility",component:L2},{path:"",component:aY}];var lY={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};function No(){const{state:s,init:a}=et();return B.useLayoutEffect(()=>{a({width:window.document.body.clientWidth})},[]),s.initialized?r.jsx(Sd,{basename:lY.VITE_PUBLIC_URL,children:r.jsx(RC,{children:r.jsx(Hd,{children:nY.map(n=>{const{prev:l,next:p}=pC(n.path);return r.jsx(hg,{path:n.path,element:To.createElement(n.component,{prev:l,next:p})},n.path)})})})}):null}const pY=document.getElementById("root"),eY=$i(pY),Ho=document.getElementById("root");Ho.hasChildNodes()?Pi(Ho,r.jsx(mo,{children:r.jsx(No,{})})):eY.render(r.jsx(mo,{children:r.jsx(No,{})})); +`,L2=({prev:s,next:a})=>r.jsx(A,{version:E2,title:Q2,description:T2,html:_2,prev:s,next:a,codes:U2}),O2=({size:s,className:a=""})=>r.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",width:s,height:s,className:a,children:r.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"})}),P2="_component_efeb7_1",$2="_icon_efeb7_8",q2="_input_efeb7_12",Ie={component:P2,icon:$2,input:q2},sB=({value:s,onChange:a})=>{function n(l){a(l.target.value)}return r.jsxs("div",{className:Ie.component,children:[r.jsx(O2,{size:18,className:Ie.icon}),r.jsx("input",{className:Ie.input,placeholder:"Search",value:s,onChange:n})]})},aB=({size:s,className:a=""})=>r.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 113 113",xmlSpace:"preserve",width:s,height:s,className:a,children:[r.jsx("circle",{cx:56.5,cy:56.5,r:56.5,fill:"#453dff",stroke:"none"}),r.jsx("path",{fill:"#fff",stroke:"none",d:"M68.476 46.383c.454.796 1.36 1.82 2.155 1.82 4.31.227 8.62.113 13.157.113-.567-3.98-2.042-7.392-4.31-10.462-1.361-1.706-1.701-2.957-.34-4.89 1.36-1.82 2.381-4.094 3.63-6.255-3.97-2.274-7.827-4.435-11.797-6.709-1.36 2.274-2.609 4.321-3.743 6.482-.68 1.365-1.36 1.706-2.949 1.478-3.63-.455-7.259-.91-10.888-.682-10.889.682-19.85 7.96-22.798 18.423-3.29 11.94-1.702 22.97 6.805 32.523-1.588 2.843-3.29 5.8-4.99 8.87 4.083 2.275 7.826 4.55 11.795 6.824 1.588-2.73 3.063-5.231 4.424-7.733.68-1.251 1.588-1.365 2.949-1.479 4.65 0 9.3.228 13.724-.682 9.3-1.82 17.354-10.803 18.375-20.128-4.084 0-7.94.113-11.91 0-1.588 0-2.609.455-3.403 1.933-4.537 7.62-15.312 8.87-21.21 2.502-5.557-5.914-5.557-18.764.114-24.677 6.011-6.141 16.56-4.777 21.21 2.729z"})]});var nB="Expected a function",Yo=NaN,lB="[object Symbol]",pB=/^\s+|\s+$/g,eB=/^[-+]0x[0-9a-f]+$/i,cB=/^0b[01]+$/i,tB=/^0o[0-7]+$/i,oB=parseInt,rB=typeof Il=="object"&&Il&&Il.Object===Object&&Il,iB=typeof self=="object"&&self&&self.Object===Object&&self,gB=rB||iB||Function("return this")(),hB=Object.prototype,IB=hB.toString,dB=Math.max,CB=Math.min,de=function(){return gB.Date.now()};function jB(s,a,n){var l,p,e,c,t,o,i=0,I=!1,d=!1,j=!0;if(typeof s!="function")throw new TypeError(nB);a=Ro(a)||0,ic(n)&&(I=!!n.leading,d="maxWait"in n,e=d?dB(Ro(n.maxWait)||0,a):e,j="trailing"in n?!!n.trailing:j);function u(k){var G=l,Y=p;return l=p=void 0,i=k,c=s.apply(Y,G),c}function m(k){return i=k,t=setTimeout(h,a),I?u(k):c}function b(k){var G=k-o,Y=k-i,x=a-G;return d?CB(x,e-Y):x}function Z(k){var G=k-o,Y=k-i;return o===void 0||G>=a||G<0||d&&Y>=e}function h(){var k=de();if(Z(k))return g(k);t=setTimeout(h,b(k))}function g(k){return t=void 0,j&&l?u(k):(l=p=void 0,c)}function C(){t!==void 0&&clearTimeout(t),i=0,l=o=p=t=void 0}function y(){return t===void 0?c:g(de())}function W(){var k=de(),G=Z(k);if(l=arguments,p=this,o=k,G){if(t===void 0)return m(o);if(d)return t=setTimeout(h,a),u(o)}return t===void 0&&(t=setTimeout(h,a)),c}return W.cancel=C,W.flush=y,W}function ic(s){var a=typeof s;return!!s&&(a=="object"||a=="function")}function AB(s){return!!s&&typeof s=="object"}function uB(s){return typeof s=="symbol"||AB(s)&&IB.call(s)==lB}function Ro(s){if(typeof s=="number")return s;if(uB(s))return Yo;if(ic(s)){var a=typeof s.valueOf=="function"?s.valueOf():s;s=ic(a)?a+"":a}if(typeof s!="string")return s===0?s:+s;s=s.replace(pB,"");var n=cB.test(s);return n||tB.test(s)?oB(s.slice(2),n?2:8):eB.test(s)?Yo:+s}var yB=jB;const mB=Fo(yB),bB={leading:!1,trailing:!0};function wB(s,a,n){return B.useCallback(mB(s,a,bB),n)}function kB(s,a){let n=s;for(let l=0;l0;){const[e,c,t]=a.pop();p&&(l=l.slice(0,c-1),p=!1),l+=e;const o=Object.keys(t);if(o.length>0)for(let i=0;ia+p)}const BB=["/visibility"],GB=["/visibility","/view-and-pure-functions","/sending-ether","/hashing","/function-selector","/function-modifier","/function","/fallback","/delegatecall","/calling-contract","/call"],VB=["/visibility"],fB=["/visibility","/hacks/hiding-malicious-code-with-external-contract"],YB=["/view-and-pure-functions"],RB=["/view-and-pure-functions"],XB=["/variables","/structs","/state-variables","/shadowing-inherited-state-variables","/primitives","/mapping","/immutable","/evm/storage","/ether-units","/enum","/constants","/assembly-variable","/array"],vB=["/variables","/structs","/state-variables","/shadowing-inherited-state-variables","/primitives","/mapping","/immutable","/ether-units","/enum","/constants","/array"],NB=["/variables"],HB=["/variables"],FB=["/variables","/state-variables","/shadowing-inherited-state-variables","/evm/storage"],KB=["/variables","/structs","/primitives","/mapping","/immutable","/hacks/accessing-private-data","/evm/storage","/evm/memory","/ether-units","/enum","/data-locations","/constants","/array","/app/iterable-mapping"],MB=["/unchecked-math","/gas-golf","/gas"],SB=["/unchecked-math"],xB=["/unchecked-math","/assembly-math","/app/assembly-bin-exp"],JB=["/unchecked-math","/hacks/overflow"],zB=["/unchecked-math","/hacks/overflow"],DB=["/try-catch","/error","/assembly-error"],EB=["/try-catch","/error"],QB=["/transient-storage"],TB=["/transient-storage","/hacks/accessing-private-data","/evm/storage","/data-locations","/app/write-to-any-slot"],UB=["/tests/echidna"],_B=["/tests/echidna"],LB=["/super","/calling-contract"],OB=["/super"],PB=["/super","/new-contract","/interface","/inheritance","/hello-world","/hacks/hiding-malicious-code-with-external-contract","/hacks/deploy-different-contracts-same-address","/hacks/contract-size","/first-app","/delegatecall","/constructor","/calling-contract","/call","/app/simple-bytecode-contract","/app/minimal-proxy","/app/deploy-any-contract","/app/create2"],$B=["/super","/new-contract","/interface","/inheritance","/first-app","/delegatecall","/calling-contract","/call"],qB=["/super","/shadowing-inherited-state-variables","/inheritance","/constructor"],sG=["/structs"],aG=["/structs"],nG=["/structs","/primitives"],lG=["/structs","/primitives"],pG=["/state-variables"],eG=["/state-variables"],cG=["/state-variables","/hello-world","/first-app","/app/write-to-any-slot","/app/upgradeable-proxy","/app/uni-directional-payment-channel","/app/time-lock","/app/simple-bytecode-contract","/app/multi-sig-wallet","/app/multi-delegatecall","/app/multi-call","/app/minimal-proxy","/app/merkle-tree","/app/iterable-mapping","/app/gasless-token-transfer","/app/ether-wallet","/app/erc721","/app/erc20","/app/erc1155","/app/english-auction","/app/dutch-auction","/app/deploy-any-contract","/app/crowd-fund","/app/create2","/app/bi-directional-payment-channel"],tG=["/state-variables","/hello-world","/first-app","/app/write-to-any-slot","/app/upgradeable-proxy","/app/uni-directional-payment-channel","/app/time-lock","/app/simple-bytecode-contract","/app/multi-sig-wallet","/app/multi-delegatecall","/app/multi-call","/app/minimal-proxy","/app/merkle-tree","/app/iterable-mapping","/app/gasless-token-transfer","/app/ether-wallet","/app/erc721","/app/erc20","/app/erc1155","/app/english-auction","/app/dutch-auction","/app/deploy-any-contract","/app/crowd-fund","/app/create2","/app/bi-directional-payment-channel"],oG=["/signature","/hashing","/hacks/signature-replay","/app/uni-directional-payment-channel","/app/merkle-tree","/app/bi-directional-payment-channel"],rG=["/signature"],iG=["/signature"],gG=["/signature","/hacks/signature-replay","/app/uni-directional-payment-channel","/app/multi-sig-wallet","/app/bi-directional-payment-channel"],hG=["/signature"],IG=["/signature"],dG=["/shadowing-inherited-state-variables"],CG=["/shadowing-inherited-state-variables"],jG=["/sending-ether"],AG=["/sending-ether","/sending-ether","/payable","/fallback"],uG=["/sending-ether","/payable","/fallback","/ether-units","/app/ether-wallet"],yG=["/sending-ether","/payable","/fallback","/app/ether-wallet"],mG=["/sending-ether","/fallback","/app/gasless-token-transfer"],bG=["/sending-ether","/delegatecall","/calling-contract","/call","/app/multi-call"],wG=["/sending-ether","/fallback"],kG=["/sending-ether","/fallback"],ZG=["/sending-ether","/payable","/fallback"],WG=["/primitives"],BG=["/primitives"],GG=["/primitives"],VG=["/primitives"],fG=["/primitives"],YG=["/primitives","/hacks/deploy-different-contracts-same-address","/app/create2"],RG=["/primitives"],XG=["/primitives"],vG=["/new-contract","/hacks/deploy-different-contracts-same-address"],NG=["/new-contract"],HG=["/new-contract","/hacks/deploy-different-contracts-same-address","/app/create2"],FG=["/new-contract","/hacks/deploy-different-contracts-same-address"],KG=["/mapping","/app/iterable-mapping"],MG=["/loop","/assembly-loop"],SG=["/loop"],xG=["/library"],JG=["/interface"],zG=["/inheritance"],DG=["/inheritance"],EG=["/inheritance"],QG=["/immutable","/defi/constant-sum-amm","/defi/constant-product-amm","/constants"],TG=["/immutable","/constants"],UG=["/immutable"],_G=["/immutable"],LG=["/if-else"],OG=["/if-else"],PG=["/if-else"],$G=["/hello-world"],qG=["/hello-world"],sV=["/hashing"],aV=["/hashing"],nV=["/hashing"],lV=["/hacks/weth-permit","/hacks/vault-inflation","/hacks/signature-replay","/hacks/self-destruct","/hacks/re-entrancy","/hacks/randomness","/hacks/phishing-with-tx-origin","/hacks/overflow","/hacks/honeypot","/hacks/hiding-malicious-code-with-external-contract","/hacks/front-running","/hacks/deploy-different-contracts-same-address","/hacks/denial-of-service","/hacks/delegatecall","/hacks/contract-size","/hacks/block-timestamp-manipulation","/hacks/accessing-private-data"],pV=["/hacks/weth-permit","/hacks/vault-inflation","/hacks/signature-replay","/hacks/self-destruct","/hacks/re-entrancy","/hacks/randomness","/hacks/phishing-with-tx-origin","/hacks/overflow","/hacks/honeypot","/hacks/hiding-malicious-code-with-external-contract","/hacks/front-running","/hacks/deploy-different-contracts-same-address","/hacks/denial-of-service","/hacks/delegatecall","/hacks/contract-size","/hacks/block-timestamp-manipulation","/hacks/accessing-private-data"],eV=["/hacks/weth-permit"],cV=["/hacks/weth-permit","/app/gasless-token-transfer"],tV=["/hacks/vault-inflation"],oV=["/hacks/vault-inflation"],rV=["/hacks/vault-inflation","/defi/vault"],iV=["/hacks/signature-replay"],gV=["/hacks/self-destruct"],hV=["/hacks/randomness"],IV=["/hacks/randomness"],dV=["/hacks/randomness"],CV=["/hacks/randomness"],jV=["/hacks/randomness","/hacks/block-timestamp-manipulation"],AV=["/hacks/randomness","/hacks/block-timestamp-manipulation"],uV=["/hacks/phishing-with-tx-origin"],yV=["/hacks/overflow"],mV=["/hacks/honeypot"],bV=["/hacks/hiding-malicious-code-with-external-contract"],wV=["/hacks/hiding-malicious-code-with-external-contract"],kV=["/hacks/hiding-malicious-code-with-external-contract"],ZV=["/hacks/hiding-malicious-code-with-external-contract"],WV=["/hacks/front-running"],BV=["/hacks/front-running"],GV=["/hacks/deploy-different-contracts-same-address","/app/deploy-any-contract"],VV=["/hacks/deploy-different-contracts-same-address"],fV=["/hacks/deploy-different-contracts-same-address"],YV=["/hacks/denial-of-service"],RV=["/hacks/denial-of-service"],XV=["/hacks/delegatecall","/delegatecall","/app/upgradeable-proxy","/app/multi-delegatecall"],vV=["/hacks/contract-size"],NV=["/hacks/contract-size"],HV=["/hacks/contract-size"],FV=["/hacks/contract-size"],KV=["/hacks/block-timestamp-manipulation"],MV=["/hacks/accessing-private-data"],SV=["/hacks/accessing-private-data"],xV=["/gas-golf"],JV=["/function-selector"],zV=["/function-selector"],DV=["/function-modifier"],EV=["/function-modifier"],QV=["/function-modifier"],TV=["/first-app"],UV=["/first-app"],_V=["/evm/storage","/evm/memory"],LV=["/evm/storage","/evm/memory","/assembly-variable","/assembly-math","/assembly-loop","/assembly-if","/assembly-error","/app/assembly-bin-exp"],OV=["/evm/storage","/evm/memory","/bitwise","/assembly-variable","/assembly-math","/assembly-loop","/assembly-if","/assembly-error","/app/assembly-bin-exp"],PV=["/evm/memory","/data-locations"],$V=["/events"],qV=["/events"],sf=["/ether-units"],af=["/ether-units"],nf=["/error"],lf=["/error","/assembly-error"],pf=["/error"],ef=["/enum"],cf=["/defi/vault","/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash","/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2","/defi/staking-rewards","/defi/stable-swap-amm","/defi/discrete-staking-rewards","/defi/dai-proxy","/defi/constant-sum-amm","/defi/constant-product-amm","/defi/chainlink-price-oracle"],tf=["/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash","/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2"],of=["/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash"],rf=["/defi/uniswap-v3-swap","/defi/uniswap-v3-flash-swap","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2","/defi/stable-swap-amm"],gf=["/defi/uniswap-v3-swap","/defi/uniswap-v3-liquidity","/defi/uniswap-v3-flash-swap","/defi/uniswap-v3-flash","/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2","/defi/stable-swap-amm","/defi/constant-sum-amm","/defi/constant-product-amm"],hf=["/defi/uniswap-v3-liquidity","/defi/uniswap-v2-add-remove-liquidity"],If=["/defi/uniswap-v3-flash-swap"],df=["/defi/uniswap-v3-flash","/defi/uniswap-v2-flash-swap"],Cf=["/defi/uniswap-v3-flash"],jf=["/defi/uniswap-v2-optimal-one-sided-supply","/defi/uniswap-v2-flash-swap","/defi/uniswap-v2-add-remove-liquidity","/defi/uniswap-v2"],Af=["/defi/uniswap-v2-optimal-one-sided-supply"],uf=["/defi/uniswap-v2-optimal-one-sided-supply"],yf=["/defi/uniswap-v2-optimal-one-sided-supply"],mf=["/defi/uniswap-v2-optimal-one-sided-supply"],bf=["/defi/uniswap-v2-add-remove-liquidity","/assembly-math"],wf=["/defi/uniswap-v2-add-remove-liquidity"],kf=["/defi/staking-rewards","/defi/discrete-staking-rewards"],Zf=["/defi/staking-rewards","/defi/discrete-staking-rewards"],Wf=["/defi/staking-rewards","/defi/discrete-staking-rewards"],Bf=["/defi/stable-swap-amm"],Gf=["/defi/stable-swap-amm"],Vf=["/defi/discrete-staking-rewards"],ff=["/defi/dai-proxy"],Yf=["/defi/dai-proxy","/app/upgradeable-proxy","/app/minimal-proxy"],Rf=["/defi/constant-sum-amm"],Xf=["/defi/constant-product-amm"],vf=["/defi/chainlink-price-oracle"],Nf=["/defi/chainlink-price-oracle"],Hf=["/defi/chainlink-price-oracle"],Ff=["/defi/chainlink-price-oracle"],Kf=["/data-locations"],Mf=["/data-locations"],Sf=["/data-locations"],xf=["/constructor"],Jf=["/constructor"],zf=["/calling-contract"],Df=["/bitwise"],Ef=["/bitwise"],Qf=["/bitwise"],Tf=["/bitwise"],Uf=["/assembly-math"],_f=["/array"],Lf=["/array"],Of=["/app/write-to-any-slot"],Pf=["/app/write-to-any-slot","/app/deploy-any-contract"],$f=["/app/write-to-any-slot"],qf=["/app/upgradeable-proxy"],s1=["/app/uni-directional-payment-channel","/app/bi-directional-payment-channel"],a1=["/app/uni-directional-payment-channel","/app/bi-directional-payment-channel"],n1=["/app/time-lock"],l1=["/app/time-lock"],p1=["/app/simple-bytecode-contract"],e1=["/app/simple-bytecode-contract"],c1=["/app/multi-sig-wallet","/app/multi-delegatecall","/app/multi-call"],t1=["/app/multi-sig-wallet"],o1=["/app/multi-sig-wallet","/app/ether-wallet"],r1=["/app/multi-call"],i1=["/app/minimal-proxy"],g1=["/app/merkle-tree"],h1=["/app/merkle-tree"],I1=["/app/iterable-mapping"],d1=["/app/gasless-token-transfer"],C1=["/app/gasless-token-transfer","/app/erc20"],j1=["/app/gasless-token-transfer"],A1=["/app/erc721"],u1=["/app/erc721"],y1=["/app/erc721","/app/erc1155"],m1=["/app/erc20"],b1=["/app/erc20"],w1=["/app/erc1155"],k1=["/app/erc1155"],Z1=["/app/english-auction"],W1=["/app/english-auction","/app/dutch-auction"],B1=["/app/english-auction","/app/dutch-auction"],G1=["/app/dutch-auction"],V1=["/app/crowd-fund"],f1=["/app/crowd-fund"],Y1=["/app/crowd-fund"],R1=["/app/create2"],X1=["/app/assembly-bin-exp"],v1=["/app/assembly-bin-exp"],N1=["/abi-encode","/abi-decode"],H1=["/abi-encode"],F1=["/abi-encode","/abi-decode"],K1=["/abi-encode"],M1=["/abi-encode"],S1=["/abi-encode"],x1=["/abi-decode"],Xo={visibility:BB,function:["/visibility","/view-and-pure-functions","/sending-ether","/hashing","/function-selector","/function-modifier","/function","/fallback","/delegatecall","/calling-contract","/call"],functions:GB,internal:VB,private:["/visibility","/hacks/accessing-private-data"],public:["/visibility"],external:fB,view:YB,pure:RB,variable:XB,variables:vB,local:NB,global:HB,state:FB,data:KB,gas:MB,unchecked:SB,math:xB,overflow:JB,underflow:zB,try:["/try-catch"],catch:["/try-catch"],error:DB,errors:EB,transient:QB,storage:TB,test:UB,echidna:_B,calling:LB,parent:OB,contract:PB,contracts:$B,inheritance:qB,super:["/super","/inheritance"],struct:sG,structs:aG,type:nG,types:lG,reading:pG,writing:eG,app:cG,application:tG,cryptography:oG,verify:rG,verifying:iG,signature:gG,signatures:hG,ecrecover:IG,shadow:dG,shadowing:CG,sending:jG,send:AG,ether:uG,eth:yG,transfer:mG,call:bG,fallback:wG,receive:kG,payable:ZG,primitive:WG,primitives:BG,boolean:GG,uint256:VG,int256:fG,address:YG,uint:RG,int:XG,new:["/new-contract","/new-contract"],create:vG,creates:NG,create2:HG,salt:FG,mapping:KG,for:["/loop","/assembly-loop"],loop:MG,loops:SG,while:["/loop","/assembly-loop"],do:["/loop"],library:xG,interface:["/interface"],interfaces:JG,override:zG,virtual:DG,is:EG,import:["/import","/enum"],constant:QG,constants:TG,immutable:UG,immutables:_G,if:["/if-else","/assembly-if"],else:["/if-else"],conditional:LG,statement:OG,statements:PG,hello:$G,world:qG,hash:sV,hashing:aV,keccak256:nV,hack:lV,security:pV,weth:eV,permit:cV,inflation:tV,erc4626:oV,vault:rV,replay:iV,selfdestruct:gV,"re-entrancy":["/hacks/re-entrancy"],source:hV,random:IV,randomness:dV,blockhash:CV,block:jV,timestamp:AV,phishing:uV,"tx.origin":["/hacks/phishing-with-tx-origin"],arithmetic:yV,honeypot:mV,hide:bV,hiding:wV,malicious:kV,code:ZV,front:WV,running:BV,deploy:GV,different:VV,same:fV,denial:YV,service:RV,delegatecall:XV,bypass:vV,size:NV,check:HV,extcodesize:FV,manipulation:KV,access:MV,accessing:SV,golf:xV,selector:JV,selectors:zV,modifier:DV,modifiers:EV,_:QV,first:TV,counter:UV,evm:_V,yul:LV,assembly:OV,memory:PV,event:$V,events:qV,wei:sf,units:af,require:nf,revert:lf,assert:pf,enum:["/enum"],imports:ef,defi:cf,uniswap:tf,v3:of,swap:rf,amm:gf,liquidity:hf,arbitrage:If,flash:df,loan:Cf,v2:jf,optimal:Af,one:uf,sided:yf,supply:mf,add:bf,remove:wf,staking:kf,reward:Zf,rewards:Wf,curve:Bf,stable:Gf,discrete:Vf,dai:ff,proxy:Yf,sum:Rf,product:Xf,chainlink:vf,price:Nf,oracle:Hf,oracles:Ff,location:Kf,locations:Mf,calldata:Sf,constructor:xf,constructors:Jf,other:zf,bitwise:Df,most:Ef,significant:Qf,bit:Tf,mul:Uf,switch:["/assembly-if"],array:_f,arrays:Lf,write:Of,any:Pf,slot:$f,upgradeable:qf,"uni-directional":["/app/uni-directional-payment-channel"],payment:s1,channel:a1,time:n1,lock:l1,simple:p1,bytecode:e1,multi:c1,sig:t1,wallet:o1,staticcall:r1,minimal:i1,merkle:g1,tree:h1,iterable:I1,gasless:d1,token:C1,ERC20:j1,erc721:A1,ierc721:u1,nft:y1,erc20:m1,ierc20:b1,erc1155:w1,ierc1155:k1,english:Z1,auction:W1,auctions:B1,dutch:G1,crowd:V1,fund:f1,funding:Y1,precompute:R1,"bi-directional":["/app/bi-directional-payment-channel"],binary:X1,exponentiation:v1,abi:N1,encode:H1,bytes:F1,encodeWithSelector:K1,encodeWithSignature:M1,encodeCall:S1,decode:x1},vo={"/visibility":["visibility","function","functions","internal","private","public","external"],"/view-and-pure-functions":["view","pure","function","functions"],"/variables":["variable","variables","local","global","state","data"],"/unchecked-math":["gas","unchecked","math","overflow","underflow"],"/try-catch":["try","catch","error","errors"],"/transient-storage":["transient","storage"],"/tests/echidna":["test","echidna"],"/super":["calling","parent","contract","contracts","inheritance","super"],"/structs":["struct","structs","data","type","types","variable","variables"],"/state-variables":["reading","writing","state","variable","variables","app","application"],"/signature":["cryptography","verify","verifying","signature","signatures","ecrecover"],"/shadowing-inherited-state-variables":["state","variables","variable","shadow","shadowing","inheritance"],"/sending-ether":["sending","send","ether","eth","transfer","send","call","fallback","receive","payable","function","functions"],"/primitives":["primitive","primitives","data","type","types","variable","variables","boolean","uint256","int256","address","uint","int"],"/payable":["payable","eth","send","ether"],"/new-contract":["new","contract","create","contracts","creates","new","create2","salt"],"/mapping":["data","variable","variables","mapping"],"/loop":["for","loop","loops","while","do"],"/library":["library"],"/interface":["interface","interfaces","contract","contracts"],"/inheritance":["inheritance","super","override","virtual","is","contract","contracts"],"/import":["import"],"/immutable":["constant","constants","immutable","immutables","data","variable","variables"],"/if-else":["if","else","conditional","statement","statements"],"/hello-world":["contract","app","application","hello","world"],"/hashing":["hash","hashing","function","functions","keccak256","cryptography"],"/hacks/weth-permit":["hack","security","weth","permit"],"/hacks/vault-inflation":["hack","security","inflation","erc4626","vault"],"/hacks/signature-replay":["hack","security","cryptography","signature","replay"],"/hacks/self-destruct":["hack","security","selfdestruct"],"/hacks/re-entrancy":["hack","security","re-entrancy"],"/hacks/randomness":["hack","security","source","random","randomness","blockhash","block","timestamp"],"/hacks/phishing-with-tx-origin":["hack","security","phishing","tx.origin"],"/hacks/overflow":["hack","security","arithmetic","overflow","underflow"],"/hacks/honeypot":["hack","security","honeypot"],"/hacks/hiding-malicious-code-with-external-contract":["hack","security","hide","hiding","malicious","code","external","contract"],"/hacks/front-running":["hack","security","front","running"],"/hacks/deploy-different-contracts-same-address":["hack","security","deploy","salt","create","create2","different","contract","same","address"],"/hacks/denial-of-service":["hack","security","denial","service"],"/hacks/delegatecall":["hack","security","delegatecall"],"/hacks/contract-size":["hack","security","bypass","contract","size","check","extcodesize"],"/hacks/block-timestamp-manipulation":["hack","security","block","timestamp","manipulation"],"/hacks/accessing-private-data":["hack","security","access","accessing","private","data","storage"],"/gas-golf":["gas","golf"],"/gas":["gas"],"/function-selector":["function","functions","selector","selectors"],"/function-modifier":["function","functions","modifier","modifiers","_"],"/function":["function","functions"],"/first-app":["contract","contracts","app","first","application","counter"],"/fallback":["fallback","function","functions","receive","payable","send","ether","eth","transfer"],"/evm/storage":["data","evm","storage","state","variable","yul","assembly"],"/evm/memory":["data","evm","memory","yul","assembly"],"/events":["event","events"],"/ether-units":["data","variables","variable","ether","wei","units"],"/error":["error","errors","require","revert","assert"],"/enum":["data","variable","variables","enum","import","imports"],"/delegatecall":["delegatecall","call","contract","contracts","function","functions"],"/defi/vault":["defi","vault"],"/defi/uniswap-v3-swap":["defi","uniswap","v3","swap","amm"],"/defi/uniswap-v3-liquidity":["defi","uniswap","v3","liquidity","amm"],"/defi/uniswap-v3-flash-swap":["defi","uniswap","v3","swap","arbitrage","amm"],"/defi/uniswap-v3-flash":["defi","uniswap","v3","flash","loan","amm"],"/defi/uniswap-v2-optimal-one-sided-supply":["defi","uniswap","v2","optimal","one","sided","supply","amm"],"/defi/uniswap-v2-flash-swap":["defi","uniswap","v2","flash","swap","amm"],"/defi/uniswap-v2-add-remove-liquidity":["defi","uniswap","v2","add","remove","liquidity","amm"],"/defi/uniswap-v2":["defi","uniswap","v2","swap","amm"],"/defi/staking-rewards":["defi","staking","reward","rewards"],"/defi/stable-swap-amm":["defi","curve","stable","swap","amm"],"/defi/discrete-staking-rewards":["defi","discrete","staking","reward","rewards"],"/defi/dai-proxy":["defi","dai","proxy"],"/defi/constant-sum-amm":["defi","constant","sum","amm"],"/defi/constant-product-amm":["defi","constant","product","amm"],"/defi/chainlink-price-oracle":["defi","chainlink","price","oracle","oracles"],"/data-locations":["data","location","locations","storage","memory","calldata"],"/constructor":["constructor","constructors","contract","inheritance"],"/constants":["constant","constants","data","variable","variables"],"/calling-contract":["calling","other","contract","contracts","call","function","functions"],"/call":["contract","contracts","call","function","functions"],"/bitwise":["bitwise","most","significant","bit","assembly"],"/assembly-variable":["assembly","variable","yul"],"/assembly-math":["assembly","yul","math","add","mul"],"/assembly-loop":["assembly","loop","yul","while","for"],"/assembly-if":["assembly","yul","if","switch"],"/assembly-error":["assembly","yul","error","revert"],"/array":["data","variable","variables","array","arrays"],"/app/write-to-any-slot":["app","application","write","any","slot","storage"],"/app/upgradeable-proxy":["app","application","delegatecall","upgradeable","proxy"],"/app/uni-directional-payment-channel":["app","application","uni-directional","payment","channel","signature","cryptography"],"/app/time-lock":["app","application","time","lock"],"/app/simple-bytecode-contract":["app","application","simple","bytecode","contract"],"/app/multi-sig-wallet":["app","application","multi","sig","signature","wallet"],"/app/multi-delegatecall":["app","application","multi","delegatecall"],"/app/multi-call":["app","application","multi","call","staticcall"],"/app/minimal-proxy":["app","application","minimal","proxy","contract"],"/app/merkle-tree":["app","application","merkle","tree","cryptography"],"/app/iterable-mapping":["app","application","mapping","data","iterable"],"/app/gasless-token-transfer":["app","application","gasless","token","transfer","ERC20","permit"],"/app/ether-wallet":["app","application","ether","eth","wallet"],"/app/erc721":["app","application","erc721","ierc721","nft"],"/app/erc20":["app","application","erc20","ierc20","token"],"/app/erc1155":["app","application","erc1155","nft","ierc1155"],"/app/english-auction":["app","application","english","auction","auctions"],"/app/dutch-auction":["app","application","dutch","auction","auctions"],"/app/deploy-any-contract":["app","application","deploy","any","contract"],"/app/crowd-fund":["app","application","crowd","fund","funding"],"/app/create2":["app","application","create2","precompute","contract","address"],"/app/bi-directional-payment-channel":["app","application","bi-directional","payment","channel","signature","cryptography"],"/app/assembly-bin-exp":["assembly","yul","binary","exponentiation","math"],"/abi-encode":["abi","encode","bytes","encodeWithSelector","encodeWithSignature","encodeCall"],"/abi-decode":["abi","decode","bytes"]},jg=[];for(const s of Object.keys(vo))jg.push(...vo[s]);const Ag={};for(const s of jg)kB(Ag,s);function J1(s){return Array.from(new Set(s))}function z1(s){const a=[],n=WB(Ag,s.toLowerCase());for(const l of n)Xo[l]&&a.push(...Xo[l]);return a}const D1="_component_ri31z_1",E1="_updates_ri31z_8",Q1="_category_ri31z_13",T1="_search_ri31z_16",U1="_listItem_ri31z_20",_1="_label_ri31z_28",L1="_header_ri31z_31",O1="_youTube_ri31z_34",P1="_youTubeLogo_ri31z_40",$1="_cryptoJobsList_ri31z_44",q1="_cryptoJobsListLogo_ri31z_50",as={component:D1,updates:E1,category:Q1,search:T1,listItem:U1,label:_1,header:L1,youTube:O1,youTubeLogo:P1,cryptoJobsList:$1,cryptoJobsListLogo:q1},sY=["2024/05/15 - GitHub PR by FarrukhTahir5","2024/05/14 - GitHub PR by open-dev-top","2024/04/19 - EVM memory","2024/04/07 - Fix WETH permit hack"];function aY(){const[s,a]=B.useState(""),[n,l]=xd(),[p,e]=B.useState(null);B.useEffect(()=>{const I=n.get("q");I!=null&&I.length>0&&(a(I),c(I,!1))},[]);function c(I,d){const j=I.trim();if(j.length==0){e(null),d&&l({q:""});return}const u=J1(j.split(" ")),m={};for(const b of u){const Z=z1(b);for(const h of Z)m[h]=!0}e(m),d&&l({q:j})}const t=wB(I=>c(I,!0),500,[]);function o(I){a(I),t(I)}function i(){return p?Object.keys(p).length==0?r.jsx("div",{children:"No results"}):r.jsx("ul",{className:as.list,children:Cp.filter(({path:I})=>p[I]).map(({path:I,title:d})=>r.jsx("li",{className:as.listItem,children:r.jsx("a",{href:I,children:d})},I))}):r.jsxs(r.Fragment,{children:[tt.map(({routes:I,title:d},j)=>r.jsxs("div",{children:[d&&r.jsx("h3",{className:as.category,children:d}),r.jsx("ul",{className:as.list,children:I.map(({path:u,title:m})=>r.jsx("li",{className:as.listItem,children:r.jsx("a",{href:u,children:m})},u))})]},j)),r.jsxs("div",{children:[r.jsx("h3",{className:as.category,children:"Translations"}),Od.map(({lang:I,url:d})=>r.jsx("li",{className:as.listItem,children:r.jsx("a",{href:d,target:"__blank",children:I})},d))]})]})}return r.jsxs("div",{className:as.component,children:[r.jsx(Cg,{title:"Solidity by Example | 0.8.24",description:"Learn smart contract programming using Solidity"}),r.jsx("h1",{className:as.header,children:r.jsx("a",{href:"/",children:"Solidity by Example"})}),r.jsx("div",{className:as.subHeader,children:"v 0.8.24"}),r.jsxs("div",{className:as.main,children:[r.jsxs("p",{children:["Introduction to ",r.jsx("a",{href:"https://solidity.readthedocs.io",children:"Solidity"})," with simple examples"]}),r.jsxs("div",{className:as.youTube,children:[r.jsx("img",{src:dg,alt:"logo",className:as.youTubeLogo}),r.jsx("a",{href:"https://www.youtube.com/@smartcontractprogrammer",target:"__blank",children:"Most code are explained here"})]}),r.jsxs("div",{className:as.cryptoJobsList,children:[r.jsx(aB,{size:24,className:as.cryptoJobsListLogo}),r.jsx("a",{href:Ig,target:"__blank",children:"Looking for Solidity jobs?"})]}),r.jsx("div",{className:as.updates,children:sY.map((I,d)=>r.jsx("div",{children:I},d))}),r.jsx("div",{className:as.search,children:r.jsx(sB,{value:s,onChange:o})}),i()]})]})}const nY=[{path:"/abi-decode",component:DC},{path:"/abi-encode",component:LC},{path:"/app/assembly-bin-exp",component:aj},{path:"/app/bi-directional-payment-channel",component:tj},{path:"/app/create2",component:Ij},{path:"/app/crowd-fund",component:yj},{path:"/app/deploy-any-contract",component:Wj},{path:"/app/dutch-auction",component:Rj},{path:"/app/english-auction",component:Kj},{path:"/app/erc1155",component:Dj},{path:"/app/erc20",component:Lj},{path:"/app/erc721",component:aA},{path:"/app/ether-wallet",component:tA},{path:"/app/gasless-token-transfer",component:IA},{path:"/app/iterable-mapping",component:yA},{path:"/app/merkle-tree",component:WA},{path:"/app/minimal-proxy",component:RA},{path:"/app/multi-call",component:KA},{path:"/app/multi-delegatecall",component:DA},{path:"/app/multi-sig-wallet",component:LA},{path:"/app/simple-bytecode-contract",component:au},{path:"/app/time-lock",component:tu},{path:"/app/uni-directional-payment-channel",component:Iu},{path:"/app/upgradeable-proxy",component:yu},{path:"/app/write-to-any-slot",component:Wu},{path:"/array",component:Ru},{path:"/assembly-error",component:Ku},{path:"/assembly-if",component:Du},{path:"/assembly-loop",component:Lu},{path:"/assembly-math",component:ay},{path:"/assembly-variable",component:ty},{path:"/bitwise",component:Iy},{path:"/call",component:yy},{path:"/calling-contract",component:Wy},{path:"/constants",component:Ry},{path:"/constructor",component:Ky},{path:"/data-locations",component:Dy},{path:"/defi/chainlink-price-oracle",component:Ly},{path:"/defi/constant-product-amm",component:am},{path:"/defi/constant-sum-amm",component:tm},{path:"/defi/dai-proxy",component:Im},{path:"/defi/discrete-staking-rewards",component:ym},{path:"/defi/stable-swap-amm",component:Wm},{path:"/defi/staking-rewards",component:Rm},{path:"/defi/uniswap-v2",component:Km},{path:"/defi/uniswap-v2-add-remove-liquidity",component:Dm},{path:"/defi/uniswap-v2-flash-swap",component:Lm},{path:"/defi/uniswap-v2-optimal-one-sided-supply",component:ab},{path:"/defi/uniswap-v3-flash",component:tb},{path:"/defi/uniswap-v3-flash-swap",component:Ib},{path:"/defi/uniswap-v3-liquidity",component:yb},{path:"/defi/uniswap-v3-swap",component:Wb},{path:"/defi/vault",component:Rb},{path:"/delegatecall",component:Kb},{path:"/enum",component:Db},{path:"/error",component:Lb},{path:"/ether-units",component:aw},{path:"/events",component:tw},{path:"/evm/memory",component:Iw},{path:"/evm/storage",component:yw},{path:"/fallback",component:Ww},{path:"/first-app",component:Rw},{path:"/function",component:Kw},{path:"/function-modifier",component:Dw},{path:"/function-selector",component:Lw},{path:"/gas",component:ak},{path:"/gas-golf",component:tk},{path:"/hacks/accessing-private-data",component:Ik},{path:"/hacks/block-timestamp-manipulation",component:yk},{path:"/hacks/contract-size",component:Wk},{path:"/hacks/delegatecall",component:Rk},{path:"/hacks/denial-of-service",component:Kk},{path:"/hacks/deploy-different-contracts-same-address",component:Dk},{path:"/hacks/front-running",component:Lk},{path:"/hacks/hiding-malicious-code-with-external-contract",component:a0},{path:"/hacks/honeypot",component:t0},{path:"/hacks/overflow",component:I0},{path:"/hacks/phishing-with-tx-origin",component:y0},{path:"/hacks/randomness",component:W0},{path:"/hacks/re-entrancy",component:R0},{path:"/hacks/self-destruct",component:K0},{path:"/hacks/signature-replay",component:D0},{path:"/hacks/vault-inflation",component:L0},{path:"/hacks/weth-permit",component:aZ},{path:"/hashing",component:tZ},{path:"/hello-world",component:IZ},{path:"/if-else",component:yZ},{path:"/immutable",component:WZ},{path:"/import",component:RZ},{path:"/inheritance",component:KZ},{path:"/interface",component:DZ},{path:"/library",component:LZ},{path:"/loop",component:aW},{path:"/mapping",component:tW},{path:"/new-contract",component:IW},{path:"/payable",component:yW},{path:"/primitives",component:WW},{path:"/sending-ether",component:RW},{path:"/shadowing-inherited-state-variables",component:KW},{path:"/signature",component:DW},{path:"/state-variables",component:LW},{path:"/structs",component:a2},{path:"/super",component:t2},{path:"/tests/echidna",component:I2},{path:"/transient-storage",component:y2},{path:"/try-catch",component:W2},{path:"/unchecked-math",component:R2},{path:"/variables",component:K2},{path:"/view-and-pure-functions",component:D2},{path:"/visibility",component:L2},{path:"",component:aY}];var lY={BASE_URL:"/",MODE:"production",DEV:!1,PROD:!0,SSR:!1};function No(){const{state:s,init:a}=et();return B.useLayoutEffect(()=>{a({width:window.document.body.clientWidth})},[]),s.initialized?r.jsx(Sd,{basename:lY.VITE_PUBLIC_URL,children:r.jsx(RC,{children:r.jsx(Hd,{children:nY.map(n=>{const{prev:l,next:p}=pC(n.path);return r.jsx(hg,{path:n.path,element:To.createElement(n.component,{prev:l,next:p})},n.path)})})})}):null}const pY=document.getElementById("root"),eY=$i(pY),Ho=document.getElementById("root");Ho.hasChildNodes()?Pi(Ho,r.jsx(mo,{children:r.jsx(No,{})})):eY.render(r.jsx(mo,{children:r.jsx(No,{})})); diff --git a/bitwise/index.html b/bitwise/index.html index e824661ba..c4ad712bc 100644 --- a/bitwise/index.html +++ b/bitwise/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/call/index.html b/call/index.html index e824661ba..c4ad712bc 100644 --- a/call/index.html +++ b/call/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/calling-contract/index.html b/calling-contract/index.html index e824661ba..c4ad712bc 100644 --- a/calling-contract/index.html +++ b/calling-contract/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/constants/index.html b/constants/index.html index e824661ba..c4ad712bc 100644 --- a/constants/index.html +++ b/constants/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/constructor/index.html b/constructor/index.html index e824661ba..c4ad712bc 100644 --- a/constructor/index.html +++ b/constructor/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/data-locations/index.html b/data-locations/index.html index e824661ba..c4ad712bc 100644 --- a/data-locations/index.html +++ b/data-locations/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/chainlink-price-oracle/index.html b/defi/chainlink-price-oracle/index.html index e824661ba..c4ad712bc 100644 --- a/defi/chainlink-price-oracle/index.html +++ b/defi/chainlink-price-oracle/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/constant-product-amm/index.html b/defi/constant-product-amm/index.html index e824661ba..c4ad712bc 100644 --- a/defi/constant-product-amm/index.html +++ b/defi/constant-product-amm/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/constant-sum-amm/index.html b/defi/constant-sum-amm/index.html index e824661ba..c4ad712bc 100644 --- a/defi/constant-sum-amm/index.html +++ b/defi/constant-sum-amm/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/dai-proxy/index.html b/defi/dai-proxy/index.html index e824661ba..c4ad712bc 100644 --- a/defi/dai-proxy/index.html +++ b/defi/dai-proxy/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/discrete-staking-rewards/index.html b/defi/discrete-staking-rewards/index.html index e824661ba..c4ad712bc 100644 --- a/defi/discrete-staking-rewards/index.html +++ b/defi/discrete-staking-rewards/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/stable-swap-amm/index.html b/defi/stable-swap-amm/index.html index e824661ba..c4ad712bc 100644 --- a/defi/stable-swap-amm/index.html +++ b/defi/stable-swap-amm/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/staking-rewards/index.html b/defi/staking-rewards/index.html index e824661ba..c4ad712bc 100644 --- a/defi/staking-rewards/index.html +++ b/defi/staking-rewards/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v2-add-remove-liquidity/index.html b/defi/uniswap-v2-add-remove-liquidity/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v2-add-remove-liquidity/index.html +++ b/defi/uniswap-v2-add-remove-liquidity/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v2-flash-swap/index.html b/defi/uniswap-v2-flash-swap/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v2-flash-swap/index.html +++ b/defi/uniswap-v2-flash-swap/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v2-optimal-one-sided-supply/index.html b/defi/uniswap-v2-optimal-one-sided-supply/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v2-optimal-one-sided-supply/index.html +++ b/defi/uniswap-v2-optimal-one-sided-supply/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v2/index.html b/defi/uniswap-v2/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v2/index.html +++ b/defi/uniswap-v2/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v3-flash-swap/index.html b/defi/uniswap-v3-flash-swap/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v3-flash-swap/index.html +++ b/defi/uniswap-v3-flash-swap/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v3-flash/index.html b/defi/uniswap-v3-flash/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v3-flash/index.html +++ b/defi/uniswap-v3-flash/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v3-liquidity/index.html b/defi/uniswap-v3-liquidity/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v3-liquidity/index.html +++ b/defi/uniswap-v3-liquidity/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/uniswap-v3-swap/index.html b/defi/uniswap-v3-swap/index.html index e824661ba..c4ad712bc 100644 --- a/defi/uniswap-v3-swap/index.html +++ b/defi/uniswap-v3-swap/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/defi/vault/index.html b/defi/vault/index.html index e824661ba..c4ad712bc 100644 --- a/defi/vault/index.html +++ b/defi/vault/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/delegatecall/index.html b/delegatecall/index.html index e824661ba..c4ad712bc 100644 --- a/delegatecall/index.html +++ b/delegatecall/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/enum/index.html b/enum/index.html index e824661ba..c4ad712bc 100644 --- a/enum/index.html +++ b/enum/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/error/index.html b/error/index.html index e824661ba..c4ad712bc 100644 --- a/error/index.html +++ b/error/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/ether-units/index.html b/ether-units/index.html index e824661ba..c4ad712bc 100644 --- a/ether-units/index.html +++ b/ether-units/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/events/index.html b/events/index.html index e824661ba..c4ad712bc 100644 --- a/events/index.html +++ b/events/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/evm/memory/index.html b/evm/memory/index.html index e824661ba..c4ad712bc 100644 --- a/evm/memory/index.html +++ b/evm/memory/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/evm/storage/index.html b/evm/storage/index.html index e824661ba..c4ad712bc 100644 --- a/evm/storage/index.html +++ b/evm/storage/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/fallback/index.html b/fallback/index.html index e824661ba..c4ad712bc 100644 --- a/fallback/index.html +++ b/fallback/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/first-app/index.html b/first-app/index.html index e824661ba..c4ad712bc 100644 --- a/first-app/index.html +++ b/first-app/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/function-modifier/index.html b/function-modifier/index.html index e824661ba..c4ad712bc 100644 --- a/function-modifier/index.html +++ b/function-modifier/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/function-selector/index.html b/function-selector/index.html index e824661ba..c4ad712bc 100644 --- a/function-selector/index.html +++ b/function-selector/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/function/index.html b/function/index.html index e824661ba..c4ad712bc 100644 --- a/function/index.html +++ b/function/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/gas-golf/index.html b/gas-golf/index.html index e824661ba..c4ad712bc 100644 --- a/gas-golf/index.html +++ b/gas-golf/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/gas/index.html b/gas/index.html index e824661ba..c4ad712bc 100644 --- a/gas/index.html +++ b/gas/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/accessing-private-data/index.html b/hacks/accessing-private-data/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/accessing-private-data/index.html +++ b/hacks/accessing-private-data/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/block-timestamp-manipulation/index.html b/hacks/block-timestamp-manipulation/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/block-timestamp-manipulation/index.html +++ b/hacks/block-timestamp-manipulation/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/contract-size/index.html b/hacks/contract-size/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/contract-size/index.html +++ b/hacks/contract-size/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/delegatecall/index.html b/hacks/delegatecall/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/delegatecall/index.html +++ b/hacks/delegatecall/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/denial-of-service/index.html b/hacks/denial-of-service/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/denial-of-service/index.html +++ b/hacks/denial-of-service/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/deploy-different-contracts-same-address/index.html b/hacks/deploy-different-contracts-same-address/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/deploy-different-contracts-same-address/index.html +++ b/hacks/deploy-different-contracts-same-address/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/front-running/index.html b/hacks/front-running/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/front-running/index.html +++ b/hacks/front-running/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/hiding-malicious-code-with-external-contract/index.html b/hacks/hiding-malicious-code-with-external-contract/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/hiding-malicious-code-with-external-contract/index.html +++ b/hacks/hiding-malicious-code-with-external-contract/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/honeypot/index.html b/hacks/honeypot/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/honeypot/index.html +++ b/hacks/honeypot/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/overflow/index.html b/hacks/overflow/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/overflow/index.html +++ b/hacks/overflow/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/phishing-with-tx-origin/index.html b/hacks/phishing-with-tx-origin/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/phishing-with-tx-origin/index.html +++ b/hacks/phishing-with-tx-origin/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/randomness/index.html b/hacks/randomness/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/randomness/index.html +++ b/hacks/randomness/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/re-entrancy/index.html b/hacks/re-entrancy/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/re-entrancy/index.html +++ b/hacks/re-entrancy/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/self-destruct/index.html b/hacks/self-destruct/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/self-destruct/index.html +++ b/hacks/self-destruct/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/signature-replay/index.html b/hacks/signature-replay/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/signature-replay/index.html +++ b/hacks/signature-replay/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/vault-inflation/index.html b/hacks/vault-inflation/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/vault-inflation/index.html +++ b/hacks/vault-inflation/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hacks/weth-permit/index.html b/hacks/weth-permit/index.html index e824661ba..c4ad712bc 100644 --- a/hacks/weth-permit/index.html +++ b/hacks/weth-permit/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hashing/index.html b/hashing/index.html index e824661ba..c4ad712bc 100644 --- a/hashing/index.html +++ b/hashing/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/hello-world/index.html b/hello-world/index.html index e824661ba..c4ad712bc 100644 --- a/hello-world/index.html +++ b/hello-world/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/if-else/index.html b/if-else/index.html index e824661ba..c4ad712bc 100644 --- a/if-else/index.html +++ b/if-else/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/immutable/index.html b/immutable/index.html index e824661ba..c4ad712bc 100644 --- a/immutable/index.html +++ b/immutable/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/import/index.html b/import/index.html index e824661ba..c4ad712bc 100644 --- a/import/index.html +++ b/import/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/index.html b/index.html index e824661ba..c4ad712bc 100644 --- a/index.html +++ b/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/inheritance/index.html b/inheritance/index.html index e824661ba..c4ad712bc 100644 --- a/inheritance/index.html +++ b/inheritance/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/interface/index.html b/interface/index.html index e824661ba..c4ad712bc 100644 --- a/interface/index.html +++ b/interface/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/library/index.html b/library/index.html index e824661ba..c4ad712bc 100644 --- a/library/index.html +++ b/library/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/loop/index.html b/loop/index.html index e824661ba..c4ad712bc 100644 --- a/loop/index.html +++ b/loop/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/mapping/index.html b/mapping/index.html index e824661ba..c4ad712bc 100644 --- a/mapping/index.html +++ b/mapping/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/new-contract/index.html b/new-contract/index.html index e824661ba..c4ad712bc 100644 --- a/new-contract/index.html +++ b/new-contract/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/payable/index.html b/payable/index.html index e824661ba..c4ad712bc 100644 --- a/payable/index.html +++ b/payable/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/primitives/index.html b/primitives/index.html index e824661ba..c4ad712bc 100644 --- a/primitives/index.html +++ b/primitives/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/sending-ether/index.html b/sending-ether/index.html index e824661ba..c4ad712bc 100644 --- a/sending-ether/index.html +++ b/sending-ether/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/shadowing-inherited-state-variables/index.html b/shadowing-inherited-state-variables/index.html index e824661ba..c4ad712bc 100644 --- a/shadowing-inherited-state-variables/index.html +++ b/shadowing-inherited-state-variables/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/signature/index.html b/signature/index.html index e824661ba..c4ad712bc 100644 --- a/signature/index.html +++ b/signature/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/state-variables/index.html b/state-variables/index.html index e824661ba..c4ad712bc 100644 --- a/state-variables/index.html +++ b/state-variables/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/structs/index.html b/structs/index.html index e824661ba..c4ad712bc 100644 --- a/structs/index.html +++ b/structs/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/super/index.html b/super/index.html index e824661ba..c4ad712bc 100644 --- a/super/index.html +++ b/super/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/tests/echidna/index.html b/tests/echidna/index.html index e824661ba..c4ad712bc 100644 --- a/tests/echidna/index.html +++ b/tests/echidna/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/transient-storage/index.html b/transient-storage/index.html index e824661ba..c4ad712bc 100644 --- a/transient-storage/index.html +++ b/transient-storage/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/try-catch/index.html b/try-catch/index.html index e824661ba..c4ad712bc 100644 --- a/try-catch/index.html +++ b/try-catch/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/unchecked-math/index.html b/unchecked-math/index.html index e824661ba..c4ad712bc 100644 --- a/unchecked-math/index.html +++ b/unchecked-math/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/variables/index.html b/variables/index.html index e824661ba..c4ad712bc 100644 --- a/variables/index.html +++ b/variables/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/view-and-pure-functions/index.html b/view-and-pure-functions/index.html index e824661ba..c4ad712bc 100644 --- a/view-and-pure-functions/index.html +++ b/view-and-pure-functions/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - + diff --git a/visibility/index.html b/visibility/index.html index e824661ba..c4ad712bc 100644 --- a/visibility/index.html +++ b/visibility/index.html @@ -28,7 +28,7 @@ gtag("config", "UA-133759045-1") - +