From e76de58782ec0758e755a94d762278f3e93b7c70 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 28 Oct 2024 14:38:15 +0000 Subject: [PATCH] deploy: a40355ccc5ea96ea4322a15c163394065449450f --- 404.html | 2 +- ...734c6.dd3d3bd7.js => 4f7734c6.887c039b.js} | 2 +- assets/js/6aab3ca4.7a61ab91.js | 1 - assets/js/6aab3ca4.d794b6f2.js | 1 + ...n.474bba1a.js => runtime~main.4689e569.js} | 2 +- docs/category/details.html | 2 +- docs/category/fhe-contracts.html | 2 +- docs/category/fhenix-helium-testnet.html | 2 +- docs/category/fhenixjs.html | 2 +- docs/category/shielded-erc20-token.html | 2 +- docs/category/tutorials.html | 2 +- .../Permits-Access-Control.html | 2 +- .../Encryption and Privacy/Privacy-Web3.html | 2 +- .../Examples-fheDapps.html | 2 +- .../Examples and References/Templates.html | 2 +- .../devdocs/Fhenix Testnet/Connecting-To.html | 2 +- .../Fhenix Testnet/Details/Architecture.html | 2 +- .../Fhenix Testnet/Details/Changelog.html | 2 +- .../Details/Fhenix-Differences.html | 2 +- .../Fhenix Testnet/Details/Limitations.html | 2 +- docs/devdocs/Fhenix Testnet/FHE-Overview.html | 2 +- docs/devdocs/Fhenix Testnet/Fhenix-T-FHE.html | 2 +- docs/devdocs/Fhenix Testnet/Integration.html | 2 +- docs/devdocs/FhenixJS/Catching Errors.html | 2 +- docs/devdocs/FhenixJS/Decryption.html | 2 +- docs/devdocs/FhenixJS/Encryption.html | 2 +- docs/devdocs/FhenixJS/Fhenix-JS.html | 2 +- docs/devdocs/FhenixJS/Network Keys.html | 2 +- docs/devdocs/FhenixJS/Permits.html | 2 +- .../FhenixJS/Sending-a-Transaction.html | 2 +- .../Setting Up Your Environment/Foundry.html | 2 +- .../Setting Up Your Environment/Gitpod.html | 2 +- .../Setting Up Your Environment/Hardhat.html | 2 +- .../Setting Up Your Environment/Remix.html | 2 +- .../Setting Up Your Environment/intro.html | 2 +- .../Solidity API/Experimental/FHERC20.html | 2 +- .../Solidity API/Experimental/IFHERC20.html | 2 +- docs/devdocs/Solidity API/FHE.html | 96 +++++++++---------- docs/devdocs/Solidity API/Permissioned.html | 2 +- .../Fhenix-Encryption-UI.html | 2 +- .../Fhenix-Hardhat-Plugin.html | 2 +- .../Fhenix-Remix-Plugin.html | 2 +- .../Basic/Adding View Functions.html | 2 +- docs/devdocs/Tutorials/Basic/Deploying.html | 2 +- .../Basic/Exploring the Template.html | 2 +- docs/devdocs/Tutorials/Basic/Setting Up.html | 2 +- docs/devdocs/Tutorials/Basic/Testing.html | 2 +- .../Tutorials/Basic/Writing-The-Contract.html | 4 +- docs/devdocs/Tutorials/Basic/intro.html | 2 +- .../Tutorials/Your-First-FHE-Contract.html | 2 +- .../Converting-between-Types.html | 2 +- .../Debug-Logging.html | 2 +- .../Writing Smart Contracts/FHE-sol.html | 2 +- .../Gas-and-Benchmarks.html | 2 +- .../Writing Smart Contracts/Permissions.html | 2 +- .../Writing Smart Contracts/Requires.html | 2 +- .../Returning-Data.html | 2 +- .../Writing Smart Contracts/Select.html | 2 +- .../Types-and-Operators.html | 2 +- .../Writing Smart Contracts/Useful-Tips.html | 2 +- .../Writing Smart Contracts/User-Inputs.html | 2 +- docs/devdocs/intro.html | 2 +- getting-started.html | 2 +- index.html | 2 +- markdown-page.html | 2 +- search.html | 2 +- sitemap.xml | 2 +- 67 files changed, 114 insertions(+), 114 deletions(-) rename assets/js/{4f7734c6.dd3d3bd7.js => 4f7734c6.887c039b.js} (53%) delete mode 100644 assets/js/6aab3ca4.7a61ab91.js create mode 100644 assets/js/6aab3ca4.d794b6f2.js rename assets/js/{runtime~main.474bba1a.js => runtime~main.4689e569.js} (63%) diff --git a/404.html b/404.html index 298ebb18..775c5e36 100644 --- a/404.html +++ b/404.html @@ -4,7 +4,7 @@ Page Not Found | Fhenix - + diff --git a/assets/js/4f7734c6.dd3d3bd7.js b/assets/js/4f7734c6.887c039b.js similarity index 53% rename from assets/js/4f7734c6.dd3d3bd7.js rename to assets/js/4f7734c6.887c039b.js index db07362a..f6b7c54e 100644 --- a/assets/js/4f7734c6.dd3d3bd7.js +++ b/assets/js/4f7734c6.887c039b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkfhenix_docs=self.webpackChunkfhenix_docs||[]).push([[9861],{2448:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var a=t(4848),r=t(8453),s=t(1470),c=t(9365);const i={sidebar_position:3},o="Writing the Contract",l={id:"devdocs/Tutorials/Basic/Writing-The-Contract",title:"Writing the Contract",description:"Let's get started with writing our first FHE powered contract.",source:"@site/docs/devdocs/Tutorials/Basic/Writing-The-Contract.md",sourceDirName:"devdocs/Tutorials/Basic",slug:"/devdocs/Tutorials/Basic/Writing-The-Contract",permalink:"/docs/devdocs/Tutorials/Basic/Writing-The-Contract",draft:!1,unlisted:!1,editUrl:"https://github.com/fhenixprotocol/fhenix-docs/tree/main/docs/devdocs/Tutorials/Basic/Writing-The-Contract.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docsSidebar",previous:{title:"Exploring the Template",permalink:"/docs/devdocs/Tutorials/Basic/Exploring the Template"},next:{title:"Adding View Functions",permalink:"/docs/devdocs/Tutorials/Basic/Adding View Functions"}},d={},u=[{value:"Importing FHE Libraries",id:"importing-fhe-libraries",level:3},{value:"Creating the Contract",id:"creating-the-contract",level:3},{value:"Inherit from ERC20",id:"inherit-from-erc20",level:4},{value:"Create Encrypted Balances",id:"create-encrypted-balances",level:4},{value:"Constructor",id:"constructor",level:4},{value:"Wrap",id:"wrap",level:4},{value:"Unwrap",id:"unwrap",level:4},{value:"Encrypted Transfers",id:"encrypted-transfers",level:4},{value:"Wait a second...",id:"wait-a-second",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"writing-the-contract",children:"Writing the Contract"}),"\n",(0,a.jsx)(n.p,{children:"Let's get started with writing our first FHE powered contract."}),"\n",(0,a.jsxs)(n.p,{children:["Let's create a new file in ",(0,a.jsx)(n.code,{children:"contracts/"}),", and call that ",(0,a.jsx)(n.code,{children:"WrappingERC20.sol"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-shell",children:"touch contracts/WrappingERC20.sol\n"})}),"\n",(0,a.jsx)(n.p,{children:"Our goal is to create an ERC20 contract that supports shielded balances.\nLet's run through the different functions, step-by-step and show how we can implement each. We'll also link to more detailed explanations about the custom functionality we make use of."}),"\n",(0,a.jsx)(n.h3,{id:"importing-fhe-libraries",children:"Importing FHE Libraries"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport "@openzeppelin/contracts/token/ERC20/ERC20.sol";\nimport "@fhenixprotocol/contracts/FHE.sol";\n'})}),"\n",(0,a.jsxs)(n.p,{children:["The OpenZeppelin ERC20 contract will provide the basic functionality of the ERC20 token, while ",(0,a.jsx)(n.code,{children:"FHE.sol"})," is necessary to create and use FHE."]}),"\n",(0,a.jsx)(n.p,{children:"We'll also have to install the OpenZeppelin contracts, since they are not part of the default template."}),"\n",(0,a.jsxs)(s.A,{groupId:"package-managers",children:[(0,a.jsx)(c.A,{value:"npm",label:"npm",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"npm install @openzeppelin/contracts\n"})})}),(0,a.jsx)(c.A,{value:"yarn",label:"yarn",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"yarn install @openzeppelin/contracts\n"})})}),(0,a.jsx)(c.A,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"pnpm install @openzeppelin/contracts\n"})})})]}),"\n",(0,a.jsx)(n.h3,{id:"creating-the-contract",children:"Creating the Contract"}),"\n",(0,a.jsx)(n.h4,{id:"inherit-from-erc20",children:"Inherit from ERC20"}),"\n",(0,a.jsxs)(n.p,{children:["The contract WrappingERC20 is an ERC20 contract. It uses function calls from ",(0,a.jsx)(n.code,{children:"FHE.sol"})," for encryption and to keep balances private and only viewable by the holder of the correct decryption key."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"contract WrappingERC20 is ERC20 {\n\n}\n"})}),"\n",(0,a.jsx)(n.h4,{id:"create-encrypted-balances",children:"Create Encrypted Balances"}),"\n",(0,a.jsxs)(n.p,{children:["An encrypted balance is initialized for each address, ",(0,a.jsx)(n.code,{children:"_encBalances"}),", which will hold encrypted token balances for users. The ",(0,a.jsx)(n.code,{children:"euintXXX"})," are encrypted data types that represent FHE-encrypted unsigned integers of various bit lengths."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"mapping(address => euint32) internal _encBalances;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"constructor",children:"Constructor"}),"\n",(0,a.jsx)(n.p,{children:"The constructor function sets the name and symbol of the token, and then mints an initial 100 tokens to the address that deploys the contract."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"constructor(string memory name, string memory symbol) ERC20(name, symbol) {\n _mint(msg.sender, 100 * 10 ** uint(decimals()));\n}\n"})}),"\n",(0,a.jsx)(n.h4,{id:"wrap",children:"Wrap"}),"\n",(0,a.jsxs)(n.p,{children:["First, let's define a function ",(0,a.jsx)(n.code,{children:"wrap(uint32 amount)"})," that allows users to convert (wrap) their tokens into encrypted form.\nThe function will burn a specified amount from the user's balance and add the same amount to their encrypted balance."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"function wrap(uint32 amount) public {\n // Make sure that the sender has enough of the public balance\n require(balanceOf(msg.sender) >= amount);\n // Burn public balance\n _burn(msg.sender, amount);\n\n // convert public amount to shielded by encrypting it\n euint32 shieldedAmount = FHE.asEuint32(amount);\n // Add shielded balance to his current balance\n _encBalances[msg.sender] = _encBalances[msg.sender] + shieldedAmount;\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"Breaking this down, the following logic is performed:"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsx)(n.li,{children:"Verify that the user has enough public tokens to wrap"}),"\n",(0,a.jsx)(n.li,{children:"Burn public tokens"}),"\n",(0,a.jsx)(n.li,{children:"Add shielded tokens to the caller's balance"}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"There are two main FHE operations that happened here:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"FHE.asEuint32(amount)"})," - this converted a standard, public ",(0,a.jsx)(n.code,{children:"uint"})," to an FHE-encrypted number"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"_encBalances[msg.sender] + shieldedAmount"})," - this performs homomorphic addition between the two encrypted numbers ",(0,a.jsx)(n.code,{children:"shieldedAmount"})," and ",(0,a.jsx)(n.code,{children:"_encBalances[msg.sender]"})]}),"\n"]}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["Even though we called ",(0,a.jsx)(n.code,{children:"FHE.asEuint32()"})," on a public value and encrypted it we did not actually hide any information - the plaintext value was already known beforehand"]})}),"\n",(0,a.jsx)(n.h4,{id:"unwrap",children:"Unwrap"}),"\n",(0,a.jsxs)(n.p,{children:["Next, let's define ",(0,a.jsx)(n.code,{children:"unwrap(inEuint32 amount)"}),". This function will allow users to convert (unwrap) their encrypted tokens back into public tokens.\nThe function will remove the specified amount from the user's encrypted balance and add the same amount to the user's public balance."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"function unwrap(inEuint32 memory amount) public {\n euint32 _amount = FHE.asEuint32(amount);\n // verify that our shielded balance is greater or equal than the requested amount. (gte = greater-than-or-equal)\n FHE.req(_encBalances[msg.sender].gte(_amount));\n // subtract amount from shielded balance\n _encBalances[msg.sender] = _encBalances[msg.sender] - _amount;\n // add amount to caller's public balance by calling the `mint` function\n _mint(msg.sender, FHE.decrypt(_amount));\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"Here we can see a few interesting things:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"FHE.req"})," (stands for FHE require) verifies that a statement is true, or reverts the function. We use this to verify that we have enough shielded amount."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"_encBalances[msg.sender].gte(_amount)"})," checks that ",(0,a.jsx)(n.code,{children:"_encBalances[msg.sender]"})," is ",(0,a.jsx)(n.strong,{children:"g"}),"rea",(0,a.jsx)(n.strong,{children:"t"}),"er or ",(0,a.jsx)(n.strong,{children:"e"}),"qual than ",(0,a.jsx)(n.code,{children:"_amount"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"inEuint32"})," is a data type specifically for input parameters. You can read more about it ",(0,a.jsx)(n.a,{href:"/docs/devdocs/Writing%20Smart%20Contracts/User-Inputs",children:"here"}),"."]}),"\n"]}),"\n",(0,a.jsx)(n.h4,{id:"encrypted-transfers",children:"Encrypted Transfers"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"transferEncrypted(address to, bytes calldata encryptedAmount)"})," is a public function that transfers encrypted tokens from the function caller to the to address. It converts the encrypted amount into the encrypted integer form ",(0,a.jsx)(n.code,{children:"euint32"})," using the ",(0,a.jsx)(n.code,{children:"FHE.asEuint32(encryptedAmount)"})," function and then calls ",(0,a.jsx)(n.code,{children:"_transferEncrypted"}),".\nThe function ",(0,a.jsx)(n.code,{children:"_transferEncrypted(address to, euint32 amount)"})," is an internal function that just calls _transferImpl.\n",(0,a.jsx)(n.code,{children:"_transferImpl(address from, address to, euint32 amount)"})," performs the actual transfer. It checks if the sender has enough tokens, then adds the amount to the to address encrypted balance and subtracts the same amount from the from address encrypted balance."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"function transferEncrypted(address to, inEuint32 calldata encryptedAmount) public {\n euint32 amount = FHE.asEuint32(encryptedAmount);\n // Make sure the sender has enough tokens. (lte = less-then-or-equal)\n FHE.req(amount.lte(_encBalances[msg.sender]));\n\n // Add to the balance of `to` and subract from the balance of `msg.sender`.\n _encBalances[to] = _encBalances[to] + amount;\n _encBalances[msg.sender] = _encBalances[msg.sender] - amount;\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"And that's it! To recap, we just created a contract that allows users to wrap and unwrap their tokens, and transfer them in encrypted form."}),"\n",(0,a.jsx)(n.p,{children:"Let's see what the entire code looks like:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport "@openzeppelin/contracts/token/ERC20/ERC20.sol";\nimport "@fhenixprotocol/contracts/FHE.sol";\n\ncontract WrappingERC20 is ERC20 {\n\n mapping(address => euint32) internal _encBalances;\n\n constructor(string memory name, string memory symbol) ERC20(name, symbol) {\n _mint(msg.sender, 100 * 10 ** uint(decimals()));\n }\n\n function wrap(uint32 amount) public {\n // Make sure that the sender has enough of the public balance\n require(balanceOf(msg.sender) >= amount);\n // Burn public balance\n _burn(msg.sender, amount);\n\n // convert public amount to shielded by encrypting it\n euint32 shieldedAmount = FHE.asEuint32(amount);\n // Add shielded balance to his current balance\n _encBalances[msg.sender] = _encBalances[msg.sender] + shieldedAmount;\n }\n\n function unwrap(inEuint32 memory amount) public {\n euint32 _amount = FHE.asEuint32(amount);\n // verify that our shielded balance is greater or equal than the requested amount \n FHE.req(_encBalances[msg.sender].gte(_amount));\n // subtract amount from shielded balance\n _encBalances[msg.sender] = _encBalances[msg.sender] - _amount;\n // add amount to caller\'s public balance by calling the `mint` function\n _mint(msg.sender, FHE.decrypt(_amount));\n }\n\n function transferEncrypted(address to, inEuint32 calldata encryptedAmount) public {\n euint32 amount = FHE.asEuint32(encryptedAmount);\n // Make sure the sender has enough tokens.\n FHE.req(amount.lte(_encBalances[msg.sender]));\n\n // Add to the balance of `to` and subract from the balance of `from`.\n _encBalances[to] = _encBalances[to] + amount;\n _encBalances[msg.sender] = _encBalances[msg.sender] - amount;\n }\n}\n'})}),"\n",(0,a.jsxs)(n.p,{children:["Note that in a real use case the actual code would include more functionality, and structure things a bit differently.\nIf you want to see what such a contract looks like, you can check out the ",(0,a.jsx)(n.a,{href:"https://github.com/FhenixProtocol/fhenix-contracts/blob/main/contracts/experimental/token/FHERC20/FHERC20.sol",children:"FHERC20"})," contract in the Fhenix contracts repository."]}),"\n",(0,a.jsx)(n.h3,{id:"wait-a-second",children:"Wait a second..."}),"\n",(0,a.jsxs)(n.p,{children:["But what about viewing the encrypted balances? Well, we'll cover that in the next section, where we'll be adding viewing\nfunctionality to our contract, and see how we can utilize ",(0,a.jsx)(n.code,{children:"Permissions"})," to manage access to encrypted data."]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},9365:(e,n,t)=>{t.d(n,{A:()=>c});t(6540);var a=t(4164);const r={tabItem:"tabItem_Ymn6"};var s=t(4848);function c(e){let{children:n,hidden:t,className:c}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.A)(r.tabItem,c),hidden:t,children:n})}},1470:(e,n,t)=>{t.d(n,{A:()=>w});var a=t(6540),r=t(4164),s=t(3104),c=t(6347),i=t(205),o=t(7485),l=t(1682),d=t(679);function u(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:t}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return u(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}}))}(t);return function(e){const n=(0,l.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const r=(0,c.W6)(),s=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o.aZ)(s),(0,a.useCallback)((e=>{if(!s)return;const n=new URLSearchParams(r.location.search);n.set(s,e),r.replace({...r.location,search:n.toString()})}),[s,r])]}function f(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,s=h(e),[c,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:s}))),[l,u]=m({queryString:t,groupId:r}),[f,g]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,s]=(0,d.Dv)(t);return[r,(0,a.useCallback)((e=>{t&&s.set(e)}),[t,s])]}({groupId:r}),b=(()=>{const e=l??f;return p({value:e,tabValues:s})?e:null})();(0,i.A)((()=>{b&&o(b)}),[b]);return{selectedValue:c,selectValue:(0,a.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),g(e)}),[u,g,s]),tabValues:s}}var g=t(2303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(4848);function j(e){let{className:n,block:t,selectedValue:a,selectValue:c,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:l}=(0,s.a_)(),d=e=>{const n=e.currentTarget,t=o.indexOf(n),r=i[t].value;r!==a&&(l(n),c(r))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{const t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":t},n),children:i.map((e=>{let{value:n,label:t,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>o.push(e),onKeyDown:u,onClick:d,...s,className:(0,r.A)("tabs__item",b.tabItem,s?.className,{"tabs__item--active":a===n}),children:t??n},n)}))})}function y(e){let{lazy:n,children:t,selectedValue:r}=e;const s=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=s.find((e=>e.props.value===r));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:s.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function v(e){const n=f(e);return(0,x.jsxs)("div",{className:(0,r.A)("tabs-container",b.tabList),children:[(0,x.jsx)(j,{...n,...e}),(0,x.jsx)(y,{...n,...e})]})}function w(e){const n=(0,g.A)();return(0,x.jsx)(v,{...e,children:u(e.children)},String(n))}},8453:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>i});var a=t(6540);const r={},s=a.createContext(r);function c(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file +"use strict";(self.webpackChunkfhenix_docs=self.webpackChunkfhenix_docs||[]).push([[9861],{2448:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>p,frontMatter:()=>i,metadata:()=>l,toc:()=>u});var a=t(4848),r=t(8453),s=t(1470),c=t(9365);const i={sidebar_position:3},o="Writing the Contract",l={id:"devdocs/Tutorials/Basic/Writing-The-Contract",title:"Writing the Contract",description:"Let's get started with writing our first FHE powered contract.",source:"@site/docs/devdocs/Tutorials/Basic/Writing-The-Contract.md",sourceDirName:"devdocs/Tutorials/Basic",slug:"/devdocs/Tutorials/Basic/Writing-The-Contract",permalink:"/docs/devdocs/Tutorials/Basic/Writing-The-Contract",draft:!1,unlisted:!1,editUrl:"https://github.com/fhenixprotocol/fhenix-docs/tree/main/docs/devdocs/Tutorials/Basic/Writing-The-Contract.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3},sidebar:"docsSidebar",previous:{title:"Exploring the Template",permalink:"/docs/devdocs/Tutorials/Basic/Exploring the Template"},next:{title:"Adding View Functions",permalink:"/docs/devdocs/Tutorials/Basic/Adding View Functions"}},d={},u=[{value:"Importing FHE Libraries",id:"importing-fhe-libraries",level:3},{value:"Creating the Contract",id:"creating-the-contract",level:3},{value:"Inherit from ERC20",id:"inherit-from-erc20",level:4},{value:"Create Encrypted Balances",id:"create-encrypted-balances",level:4},{value:"Constructor",id:"constructor",level:4},{value:"Wrap",id:"wrap",level:4},{value:"Unwrap",id:"unwrap",level:4},{value:"Encrypted Transfers",id:"encrypted-transfers",level:4},{value:"Wait a second...",id:"wait-a-second",level:3}];function h(e){const n={a:"a",admonition:"admonition",code:"code",h1:"h1",h3:"h3",h4:"h4",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,r.R)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.h1,{id:"writing-the-contract",children:"Writing the Contract"}),"\n",(0,a.jsx)(n.p,{children:"Let's get started with writing our first FHE powered contract."}),"\n",(0,a.jsxs)(n.p,{children:["Let's create a new file in ",(0,a.jsx)(n.code,{children:"contracts/"}),", and call that ",(0,a.jsx)(n.code,{children:"WrappingERC20.sol"}),"."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-shell",children:"touch contracts/WrappingERC20.sol\n"})}),"\n",(0,a.jsx)(n.p,{children:"Our goal is to create an ERC20 contract that supports shielded balances.\nLet's run through the different functions, step-by-step and show how we can implement each. We'll also link to more detailed explanations about the custom functionality we make use of."}),"\n",(0,a.jsx)(n.h3,{id:"importing-fhe-libraries",children:"Importing FHE Libraries"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport "@openzeppelin/contracts/token/ERC20/ERC20.sol";\nimport "@fhenixprotocol/contracts/FHE.sol";\n'})}),"\n",(0,a.jsxs)(n.p,{children:["The OpenZeppelin ERC20 contract will provide the basic functionality of the ERC20 token, while ",(0,a.jsx)(n.code,{children:"FHE.sol"})," is necessary to create and use FHE."]}),"\n",(0,a.jsx)(n.p,{children:"We'll also have to install the OpenZeppelin contracts, since they are not part of the default template."}),"\n",(0,a.jsxs)(s.A,{groupId:"package-managers",children:[(0,a.jsx)(c.A,{value:"npm",label:"npm",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"npm install @openzeppelin/contracts\n"})})}),(0,a.jsx)(c.A,{value:"yarn",label:"yarn",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"yarn install @openzeppelin/contracts\n"})})}),(0,a.jsx)(c.A,{value:"pnpm",label:"pnpm",children:(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-bash",children:"pnpm install @openzeppelin/contracts\n"})})})]}),"\n",(0,a.jsx)(n.h3,{id:"creating-the-contract",children:"Creating the Contract"}),"\n",(0,a.jsx)(n.h4,{id:"inherit-from-erc20",children:"Inherit from ERC20"}),"\n",(0,a.jsxs)(n.p,{children:["The contract WrappingERC20 is an ERC20 contract. It uses function calls from ",(0,a.jsx)(n.code,{children:"FHE.sol"})," for encryption and to keep balances private and only viewable by the holder of the correct decryption key."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"contract WrappingERC20 is ERC20 {\n\n}\n"})}),"\n",(0,a.jsx)(n.h4,{id:"create-encrypted-balances",children:"Create Encrypted Balances"}),"\n",(0,a.jsxs)(n.p,{children:["An encrypted balance is initialized for each address, ",(0,a.jsx)(n.code,{children:"_encBalances"}),", which will hold encrypted token balances for users. The ",(0,a.jsx)(n.code,{children:"euintXXX"})," are encrypted data types that represent FHE-encrypted unsigned integers of various bit lengths."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"mapping(address => euint32) internal _encBalances;\n"})}),"\n",(0,a.jsx)(n.h4,{id:"constructor",children:"Constructor"}),"\n",(0,a.jsx)(n.p,{children:"The constructor function sets the name and symbol of the token, and then mints an initial 100 tokens to the address that deploys the contract."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"constructor(string memory name, string memory symbol) ERC20(name, symbol) {\n _mint(msg.sender, 100 * 10 ** uint(decimals()));\n}\n"})}),"\n",(0,a.jsx)(n.h4,{id:"wrap",children:"Wrap"}),"\n",(0,a.jsxs)(n.p,{children:["First, let's define a function ",(0,a.jsx)(n.code,{children:"wrap(uint32 amount)"})," that allows users to convert (wrap) their tokens into encrypted form.\nThe function will burn a specified amount from the user's balance and add the same amount to their encrypted balance."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"function wrap(uint32 amount) public {\n // Make sure that the sender has enough of the public balance\n require(balanceOf(msg.sender) >= amount);\n // Burn public balance\n _burn(msg.sender, amount);\n\n // convert public amount to shielded by encrypting it\n euint32 shieldedAmount = FHE.asEuint32(amount);\n // Add shielded balance to his current balance\n _encBalances[msg.sender] = _encBalances[msg.sender] + shieldedAmount;\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"Breaking this down, the following logic is performed:"}),"\n",(0,a.jsxs)(n.ol,{children:["\n",(0,a.jsx)(n.li,{children:"Verify that the user has enough public tokens to wrap"}),"\n",(0,a.jsx)(n.li,{children:"Burn public tokens"}),"\n",(0,a.jsx)(n.li,{children:"Add shielded tokens to the caller's balance"}),"\n"]}),"\n",(0,a.jsx)(n.p,{children:"There are two main FHE operations that happened here:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"FHE.asEuint32(amount)"})," - this converted a standard, public ",(0,a.jsx)(n.code,{children:"uint"})," to an FHE-encrypted number"]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"_encBalances[msg.sender] + shieldedAmount"})," - this performs homomorphic addition between the two encrypted numbers ",(0,a.jsx)(n.code,{children:"shieldedAmount"})," and ",(0,a.jsx)(n.code,{children:"_encBalances[msg.sender]"})]}),"\n"]}),"\n",(0,a.jsx)(n.admonition,{type:"note",children:(0,a.jsxs)(n.p,{children:["Even though we called ",(0,a.jsx)(n.code,{children:"FHE.asEuint32()"})," on a public value and encrypted it we did not actually hide any information - the plaintext value was already known beforehand"]})}),"\n",(0,a.jsx)(n.h4,{id:"unwrap",children:"Unwrap"}),"\n",(0,a.jsxs)(n.p,{children:["Next, let's define ",(0,a.jsx)(n.code,{children:"unwrap(inEuint32 amount)"}),". This function will allow users to convert (unwrap) their encrypted tokens back into public tokens.\nThe function will remove the specified amount from the user's encrypted balance and add the same amount to the user's public balance."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"function unwrap(inEuint32 memory amount) public {\n euint32 _amount = FHE.asEuint32(amount);\n // verify that our shielded balance is greater or equal than the requested amount. (gte = greater-than-or-equal)\n FHE.req(_encBalances[msg.sender].gte(_amount));\n // subtract amount from shielded balance\n _encBalances[msg.sender] = _encBalances[msg.sender] - _amount;\n // add amount to caller's public balance by calling the `mint` function\n _mint(msg.sender, FHE.decrypt(_amount));\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"Here we can see a few interesting things:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"FHE.req"})," (stands for FHE require) verifies that a statement is true, or reverts the function. We use this to verify that we have enough shielded amount."]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"_encBalances[msg.sender].gte(_amount)"})," checks that ",(0,a.jsx)(n.code,{children:"_encBalances[msg.sender]"})," is ",(0,a.jsx)(n.strong,{children:"g"}),"rea",(0,a.jsx)(n.strong,{children:"t"}),"er or ",(0,a.jsx)(n.strong,{children:"e"}),"qual than ",(0,a.jsx)(n.code,{children:"_amount"})]}),"\n",(0,a.jsxs)(n.li,{children:[(0,a.jsx)(n.code,{children:"inEuint32"})," is a data type specifically for input parameters. You can read more about it ",(0,a.jsx)(n.a,{href:"/docs/devdocs/Writing%20Smart%20Contracts/User-Inputs",children:"here"}),"."]}),"\n"]}),"\n",(0,a.jsx)(n.h4,{id:"encrypted-transfers",children:"Encrypted Transfers"}),"\n",(0,a.jsxs)(n.p,{children:[(0,a.jsx)(n.code,{children:"transferEncrypted(address to, bytes calldata encryptedAmount)"})," is a public function that transfers encrypted tokens from the function caller to the to address. It converts the encrypted amount into the encrypted integer form ",(0,a.jsx)(n.code,{children:"euint32"})," using the ",(0,a.jsx)(n.code,{children:"FHE.asEuint32(encryptedAmount)"})," function and then calls ",(0,a.jsx)(n.code,{children:"_transferEncrypted"}),".\nThe function ",(0,a.jsx)(n.code,{children:"_transferEncrypted(address to, euint32 amount)"})," is an internal function that just calls _transferImpl.\n",(0,a.jsx)(n.code,{children:"_transferImpl(address from, address to, euint32 amount)"})," performs the actual transfer. It checks if the sender has enough tokens, then adds the amount to the address encrypted balance and subtracts the same amount from the address encrypted balance."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:"function transferEncrypted(address to, inEuint32 calldata encryptedAmount) public {\n euint32 amount = FHE.asEuint32(encryptedAmount);\n // Make sure the sender has enough tokens. (lte = less-then-or-equal)\n FHE.req(amount.lte(_encBalances[msg.sender]));\n\n // Add to the balance of `to` and subract from the balance of `msg.sender`.\n _encBalances[to] = _encBalances[to] + amount;\n _encBalances[msg.sender] = _encBalances[msg.sender] - amount;\n}\n"})}),"\n",(0,a.jsx)(n.p,{children:"And that's it! To recap, we just created a contract that allows users to wrap and unwrap their tokens, and transfer them in encrypted form."}),"\n",(0,a.jsx)(n.p,{children:"Let's see what the entire code looks like:"}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-javascript",children:'// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport "@openzeppelin/contracts/token/ERC20/ERC20.sol";\nimport "@fhenixprotocol/contracts/FHE.sol";\n\ncontract WrappingERC20 is ERC20 {\n\n mapping(address => euint32) internal _encBalances;\n\n constructor(string memory name, string memory symbol) ERC20(name, symbol) {\n _mint(msg.sender, 100 * 10 ** uint(decimals()));\n }\n\n function wrap(uint32 amount) public {\n // Make sure that the sender has enough of the public balance\n require(balanceOf(msg.sender) >= amount);\n // Burn public balance\n _burn(msg.sender, amount);\n\n // convert public amount to shielded by encrypting it\n euint32 shieldedAmount = FHE.asEuint32(amount);\n // Add shielded balance to his current balance\n _encBalances[msg.sender] = _encBalances[msg.sender] + shieldedAmount;\n }\n\n function unwrap(inEuint32 memory amount) public {\n euint32 _amount = FHE.asEuint32(amount);\n // verify that our shielded balance is greater or equal than the requested amount \n FHE.req(_encBalances[msg.sender].gte(_amount));\n // subtract amount from shielded balance\n _encBalances[msg.sender] = _encBalances[msg.sender] - _amount;\n // add amount to caller\'s public balance by calling the `mint` function\n _mint(msg.sender, FHE.decrypt(_amount));\n }\n\n function transferEncrypted(address to, inEuint32 calldata encryptedAmount) public {\n euint32 amount = FHE.asEuint32(encryptedAmount);\n // Make sure the sender has enough tokens.\n FHE.req(amount.lte(_encBalances[msg.sender]));\n\n // Add to the balance of `to` and subract from the balance of `from`.\n _encBalances[to] = _encBalances[to] + amount;\n _encBalances[msg.sender] = _encBalances[msg.sender] - amount;\n }\n}\n'})}),"\n",(0,a.jsxs)(n.p,{children:["Note that in a real use case the actual code would include more functionality, and structure things a bit differently.\nIf you want to see what such a contract looks like, you can check out the ",(0,a.jsx)(n.a,{href:"https://github.com/FhenixProtocol/fhenix-contracts/blob/main/contracts/experimental/token/FHERC20/FHERC20.sol",children:"FHERC20"})," contract in the Fhenix contracts repository."]}),"\n",(0,a.jsx)(n.h3,{id:"wait-a-second",children:"Wait a second..."}),"\n",(0,a.jsxs)(n.p,{children:["But what about viewing the encrypted balances? Well, we'll cover that in the next section, where we'll be adding viewing\nfunctionality to our contract, and see how we can utilize ",(0,a.jsx)(n.code,{children:"Permissions"})," to manage access to encrypted data."]})]})}function p(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},9365:(e,n,t)=>{t.d(n,{A:()=>c});t(6540);var a=t(4164);const r={tabItem:"tabItem_Ymn6"};var s=t(4848);function c(e){let{children:n,hidden:t,className:c}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.A)(r.tabItem,c),hidden:t,children:n})}},1470:(e,n,t)=>{t.d(n,{A:()=>w});var a=t(6540),r=t(4164),s=t(3104),c=t(6347),i=t(205),o=t(7485),l=t(1682),d=t(679);function u(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:n,children:t}=e;return(0,a.useMemo)((()=>{const e=n??function(e){return u(e).map((e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}}))}(t);return function(e){const n=(0,l.X)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[n,t])}function p(e){let{value:n,tabValues:t}=e;return t.some((e=>e.value===n))}function m(e){let{queryString:n=!1,groupId:t}=e;const r=(0,c.W6)(),s=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t});return[(0,o.aZ)(s),(0,a.useCallback)((e=>{if(!s)return;const n=new URLSearchParams(r.location.search);n.set(s,e),r.replace({...r.location,search:n.toString()})}),[s,r])]}function f(e){const{defaultValue:n,queryString:t=!1,groupId:r}=e,s=h(e),[c,o]=(0,a.useState)((()=>function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw new Error("Docusaurus error: the component requires at least one children component");if(n){if(!p({value:n,tabValues:t}))throw new Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}const a=t.find((e=>e.default))??t[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:n,tabValues:s}))),[l,u]=m({queryString:t,groupId:r}),[f,g]=function(e){let{groupId:n}=e;const t=function(e){return e?`docusaurus.tab.${e}`:null}(n),[r,s]=(0,d.Dv)(t);return[r,(0,a.useCallback)((e=>{t&&s.set(e)}),[t,s])]}({groupId:r}),b=(()=>{const e=l??f;return p({value:e,tabValues:s})?e:null})();(0,i.A)((()=>{b&&o(b)}),[b]);return{selectedValue:c,selectValue:(0,a.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),g(e)}),[u,g,s]),tabValues:s}}var g=t(2303);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(4848);function j(e){let{className:n,block:t,selectedValue:a,selectValue:c,tabValues:i}=e;const o=[],{blockElementScrollPositionUntilNextRender:l}=(0,s.a_)(),d=e=>{const n=e.currentTarget,t=o.indexOf(n),r=i[t].value;r!==a&&(l(n),c(r))},u=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const t=o.indexOf(e.currentTarget)+1;n=o[t]??o[0];break}case"ArrowLeft":{const t=o.indexOf(e.currentTarget)-1;n=o[t]??o[o.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.A)("tabs",{"tabs--block":t},n),children:i.map((e=>{let{value:n,label:t,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>o.push(e),onKeyDown:u,onClick:d,...s,className:(0,r.A)("tabs__item",b.tabItem,s?.className,{"tabs__item--active":a===n}),children:t??n},n)}))})}function y(e){let{lazy:n,children:t,selectedValue:r}=e;const s=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){const e=s.find((e=>e.props.value===r));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:s.map(((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==r})))})}function v(e){const n=f(e);return(0,x.jsxs)("div",{className:(0,r.A)("tabs-container",b.tabList),children:[(0,x.jsx)(j,{...n,...e}),(0,x.jsx)(y,{...n,...e})]})}function w(e){const n=(0,g.A)();return(0,x.jsx)(v,{...e,children:u(e.children)},String(n))}},8453:(e,n,t)=>{t.d(n,{R:()=>c,x:()=>i});var a=t(6540);const r={},s=a.createContext(r);function c(e){const n=a.useContext(s);return a.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function i(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),a.createElement(s.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6aab3ca4.7a61ab91.js b/assets/js/6aab3ca4.7a61ab91.js deleted file mode 100644 index c009c4fa..00000000 --- a/assets/js/6aab3ca4.7a61ab91.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkfhenix_docs=self.webpackChunkfhenix_docs||[]).push([[2388],{6867:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>h,toc:()=>c});var s=t(4848),r=t(8453);const i={},l="FHE.sol",h={id:"devdocs/Solidity API/FHE",title:"FHE.sol",description:"isInitialized",source:"@site/docs/devdocs/Solidity API/FHE.md",sourceDirName:"devdocs/Solidity API",slug:"/devdocs/Solidity API/FHE",permalink:"/docs/devdocs/Solidity API/FHE",draft:!1,unlisted:!1,editUrl:"https://github.com/fhenixprotocol/fhenix-docs/tree/main/docs/devdocs/Solidity API/FHE.md",tags:[],version:"current",frontMatter:{},sidebar:"docsSidebar",previous:{title:"IFHERC20",permalink:"/docs/devdocs/Solidity API/Experimental/IFHERC20"},next:{title:"Permissioned.Sol",permalink:"/docs/devdocs/Solidity API/Permissioned"}},d={},c=[{value:"isInitialized",id:"isinitialized",level:3},{value:"isInitialized",id:"isinitialized-1",level:3},{value:"isInitialized",id:"isinitialized-2",level:3},{value:"isInitialized",id:"isinitialized-3",level:3},{value:"isInitialized",id:"isinitialized-4",level:3},{value:"isInitialized",id:"isinitialized-5",level:3},{value:"isInitialized",id:"isinitialized-6",level:3},{value:"isInitialized",id:"isinitialized-7",level:3},{value:"mathHelper",id:"mathhelper",level:3},{value:"add",id:"add",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Return Values",id:"return-values",level:4},{value:"add",id:"add-1",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Return Values",id:"return-values-1",level:4},{value:"add",id:"add-2",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Return Values",id:"return-values-2",level:4},{value:"add",id:"add-3",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Return Values",id:"return-values-3",level:4},{value:"add",id:"add-4",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Return Values",id:"return-values-4",level:4},{value:"sealoutput",id:"sealoutput",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Return Values",id:"return-values-5",level:4},{value:"sealoutput",id:"sealoutput-1",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Return Values",id:"return-values-6",level:4},{value:"sealoutput",id:"sealoutput-2",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Return Values",id:"return-values-7",level:4},{value:"sealoutput",id:"sealoutput-3",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Return Values",id:"return-values-8",level:4},{value:"sealoutput",id:"sealoutput-4",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Return Values",id:"return-values-9",level:4},{value:"sealoutput",id:"sealoutput-5",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Return Values",id:"return-values-10",level:4},{value:"sealoutput",id:"sealoutput-6",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Return Values",id:"return-values-11",level:4},{value:"sealoutput",id:"sealoutput-7",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Return Values",id:"return-values-12",level:4},{value:"decrypt",id:"decrypt",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"decrypt",id:"decrypt-1",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"decrypt",id:"decrypt-2",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"decrypt",id:"decrypt-3",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"decrypt",id:"decrypt-4",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"decrypt",id:"decrypt-5",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"decrypt",id:"decrypt-6",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"decrypt",id:"decrypt-7",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"lte",id:"lte",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"Return Values",id:"return-values-13",level:4},{value:"lte",id:"lte-1",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"Return Values",id:"return-values-14",level:4},{value:"lte",id:"lte-2",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"Return Values",id:"return-values-15",level:4},{value:"lte",id:"lte-3",level:3},{value:"Parameters",id:"parameters-24",level:4},{value:"Return Values",id:"return-values-16",level:4},{value:"lte",id:"lte-4",level:3},{value:"Parameters",id:"parameters-25",level:4},{value:"Return Values",id:"return-values-17",level:4},{value:"sub",id:"sub",level:3},{value:"Parameters",id:"parameters-26",level:4},{value:"Return Values",id:"return-values-18",level:4},{value:"sub",id:"sub-1",level:3},{value:"Parameters",id:"parameters-27",level:4},{value:"Return Values",id:"return-values-19",level:4},{value:"sub",id:"sub-2",level:3},{value:"Parameters",id:"parameters-28",level:4},{value:"Return Values",id:"return-values-20",level:4},{value:"sub",id:"sub-3",level:3},{value:"Parameters",id:"parameters-29",level:4},{value:"Return Values",id:"return-values-21",level:4},{value:"sub",id:"sub-4",level:3},{value:"Parameters",id:"parameters-30",level:4},{value:"Return Values",id:"return-values-22",level:4},{value:"mul",id:"mul",level:3},{value:"Parameters",id:"parameters-31",level:4},{value:"Return Values",id:"return-values-23",level:4},{value:"mul",id:"mul-1",level:3},{value:"Parameters",id:"parameters-32",level:4},{value:"Return Values",id:"return-values-24",level:4},{value:"mul",id:"mul-2",level:3},{value:"Parameters",id:"parameters-33",level:4},{value:"Return Values",id:"return-values-25",level:4},{value:"mul",id:"mul-3",level:3},{value:"Parameters",id:"parameters-34",level:4},{value:"Return Values",id:"return-values-26",level:4},{value:"lt",id:"lt",level:3},{value:"Parameters",id:"parameters-35",level:4},{value:"Return Values",id:"return-values-27",level:4},{value:"lt",id:"lt-1",level:3},{value:"Parameters",id:"parameters-36",level:4},{value:"Return Values",id:"return-values-28",level:4},{value:"lt",id:"lt-2",level:3},{value:"Parameters",id:"parameters-37",level:4},{value:"Return Values",id:"return-values-29",level:4},{value:"lt",id:"lt-3",level:3},{value:"Parameters",id:"parameters-38",level:4},{value:"Return Values",id:"return-values-30",level:4},{value:"lt",id:"lt-4",level:3},{value:"Parameters",id:"parameters-39",level:4},{value:"Return Values",id:"return-values-31",level:4},{value:"select",id:"select",level:3},{value:"select",id:"select-1",level:3},{value:"select",id:"select-2",level:3},{value:"select",id:"select-3",level:3},{value:"select",id:"select-4",level:3},{value:"select",id:"select-5",level:3},{value:"select",id:"select-6",level:3},{value:"select",id:"select-7",level:3},{value:"req",id:"req",level:3},{value:"Parameters",id:"parameters-40",level:4},{value:"req",id:"req-1",level:3},{value:"Parameters",id:"parameters-41",level:4},{value:"req",id:"req-2",level:3},{value:"Parameters",id:"parameters-42",level:4},{value:"req",id:"req-3",level:3},{value:"Parameters",id:"parameters-43",level:4},{value:"req",id:"req-4",level:3},{value:"Parameters",id:"parameters-44",level:4},{value:"req",id:"req-5",level:3},{value:"Parameters",id:"parameters-45",level:4},{value:"req",id:"req-6",level:3},{value:"Parameters",id:"parameters-46",level:4},{value:"div",id:"div",level:3},{value:"Parameters",id:"parameters-47",level:4},{value:"Return Values",id:"return-values-32",level:4},{value:"div",id:"div-1",level:3},{value:"Parameters",id:"parameters-48",level:4},{value:"Return Values",id:"return-values-33",level:4},{value:"div",id:"div-2",level:3},{value:"Parameters",id:"parameters-49",level:4},{value:"Return Values",id:"return-values-34",level:4},{value:"gt",id:"gt",level:3},{value:"Parameters",id:"parameters-50",level:4},{value:"Return Values",id:"return-values-35",level:4},{value:"gt",id:"gt-1",level:3},{value:"Parameters",id:"parameters-51",level:4},{value:"Return Values",id:"return-values-36",level:4},{value:"gt",id:"gt-2",level:3},{value:"Parameters",id:"parameters-52",level:4},{value:"Return Values",id:"return-values-37",level:4},{value:"gt",id:"gt-3",level:3},{value:"Parameters",id:"parameters-53",level:4},{value:"Return Values",id:"return-values-38",level:4},{value:"gt",id:"gt-4",level:3},{value:"Parameters",id:"parameters-54",level:4},{value:"Return Values",id:"return-values-39",level:4},{value:"gte",id:"gte",level:3},{value:"Parameters",id:"parameters-55",level:4},{value:"Return Values",id:"return-values-40",level:4},{value:"gte",id:"gte-1",level:3},{value:"Parameters",id:"parameters-56",level:4},{value:"Return Values",id:"return-values-41",level:4},{value:"gte",id:"gte-2",level:3},{value:"Parameters",id:"parameters-57",level:4},{value:"Return Values",id:"return-values-42",level:4},{value:"gte",id:"gte-3",level:3},{value:"Parameters",id:"parameters-58",level:4},{value:"Return Values",id:"return-values-43",level:4},{value:"gte",id:"gte-4",level:3},{value:"Parameters",id:"parameters-59",level:4},{value:"Return Values",id:"return-values-44",level:4},{value:"rem",id:"rem",level:3},{value:"Parameters",id:"parameters-60",level:4},{value:"Return Values",id:"return-values-45",level:4},{value:"rem",id:"rem-1",level:3},{value:"Parameters",id:"parameters-61",level:4},{value:"Return Values",id:"return-values-46",level:4},{value:"rem",id:"rem-2",level:3},{value:"Parameters",id:"parameters-62",level:4},{value:"Return Values",id:"return-values-47",level:4},{value:"and",id:"and",level:3},{value:"Parameters",id:"parameters-63",level:4},{value:"Return Values",id:"return-values-48",level:4},{value:"and",id:"and-1",level:3},{value:"Parameters",id:"parameters-64",level:4},{value:"Return Values",id:"return-values-49",level:4},{value:"and",id:"and-2",level:3},{value:"Parameters",id:"parameters-65",level:4},{value:"Return Values",id:"return-values-50",level:4},{value:"and",id:"and-3",level:3},{value:"Parameters",id:"parameters-66",level:4},{value:"Return Values",id:"return-values-51",level:4},{value:"and",id:"and-4",level:3},{value:"Parameters",id:"parameters-67",level:4},{value:"Return Values",id:"return-values-52",level:4},{value:"and",id:"and-5",level:3},{value:"Parameters",id:"parameters-68",level:4},{value:"Return Values",id:"return-values-53",level:4},{value:"or",id:"or",level:3},{value:"Parameters",id:"parameters-69",level:4},{value:"Return Values",id:"return-values-54",level:4},{value:"or",id:"or-1",level:3},{value:"Parameters",id:"parameters-70",level:4},{value:"Return Values",id:"return-values-55",level:4},{value:"or",id:"or-2",level:3},{value:"Parameters",id:"parameters-71",level:4},{value:"Return Values",id:"return-values-56",level:4},{value:"or",id:"or-3",level:3},{value:"Parameters",id:"parameters-72",level:4},{value:"Return Values",id:"return-values-57",level:4},{value:"or",id:"or-4",level:3},{value:"Parameters",id:"parameters-73",level:4},{value:"Return Values",id:"return-values-58",level:4},{value:"or",id:"or-5",level:3},{value:"Parameters",id:"parameters-74",level:4},{value:"Return Values",id:"return-values-59",level:4},{value:"xor",id:"xor",level:3},{value:"Parameters",id:"parameters-75",level:4},{value:"Return Values",id:"return-values-60",level:4},{value:"xor",id:"xor-1",level:3},{value:"Parameters",id:"parameters-76",level:4},{value:"Return Values",id:"return-values-61",level:4},{value:"xor",id:"xor-2",level:3},{value:"Parameters",id:"parameters-77",level:4},{value:"Return Values",id:"return-values-62",level:4},{value:"xor",id:"xor-3",level:3},{value:"Parameters",id:"parameters-78",level:4},{value:"Return Values",id:"return-values-63",level:4},{value:"xor",id:"xor-4",level:3},{value:"Parameters",id:"parameters-79",level:4},{value:"Return Values",id:"return-values-64",level:4},{value:"xor",id:"xor-5",level:3},{value:"Parameters",id:"parameters-80",level:4},{value:"Return Values",id:"return-values-65",level:4},{value:"eq",id:"eq",level:3},{value:"Parameters",id:"parameters-81",level:4},{value:"Return Values",id:"return-values-66",level:4},{value:"eq",id:"eq-1",level:3},{value:"Parameters",id:"parameters-82",level:4},{value:"Return Values",id:"return-values-67",level:4},{value:"eq",id:"eq-2",level:3},{value:"Parameters",id:"parameters-83",level:4},{value:"Return Values",id:"return-values-68",level:4},{value:"eq",id:"eq-3",level:3},{value:"Parameters",id:"parameters-84",level:4},{value:"Return Values",id:"return-values-69",level:4},{value:"eq",id:"eq-4",level:3},{value:"Parameters",id:"parameters-85",level:4},{value:"Return Values",id:"return-values-70",level:4},{value:"eq",id:"eq-5",level:3},{value:"Parameters",id:"parameters-86",level:4},{value:"Return Values",id:"return-values-71",level:4},{value:"eq",id:"eq-6",level:3},{value:"Parameters",id:"parameters-87",level:4},{value:"Return Values",id:"return-values-72",level:4},{value:"eq",id:"eq-7",level:3},{value:"Parameters",id:"parameters-88",level:4},{value:"Return Values",id:"return-values-73",level:4},{value:"ne",id:"ne",level:3},{value:"Parameters",id:"parameters-89",level:4},{value:"Return Values",id:"return-values-74",level:4},{value:"ne",id:"ne-1",level:3},{value:"Parameters",id:"parameters-90",level:4},{value:"Return Values",id:"return-values-75",level:4},{value:"ne",id:"ne-2",level:3},{value:"Parameters",id:"parameters-91",level:4},{value:"Return Values",id:"return-values-76",level:4},{value:"ne",id:"ne-3",level:3},{value:"Parameters",id:"parameters-92",level:4},{value:"Return Values",id:"return-values-77",level:4},{value:"ne",id:"ne-4",level:3},{value:"Parameters",id:"parameters-93",level:4},{value:"Return Values",id:"return-values-78",level:4},{value:"ne",id:"ne-5",level:3},{value:"Parameters",id:"parameters-94",level:4},{value:"Return Values",id:"return-values-79",level:4},{value:"ne",id:"ne-6",level:3},{value:"Parameters",id:"parameters-95",level:4},{value:"Return Values",id:"return-values-80",level:4},{value:"ne",id:"ne-7",level:3},{value:"Parameters",id:"parameters-96",level:4},{value:"Return Values",id:"return-values-81",level:4},{value:"min",id:"min",level:3},{value:"Parameters",id:"parameters-97",level:4},{value:"Return Values",id:"return-values-82",level:4},{value:"min",id:"min-1",level:3},{value:"Parameters",id:"parameters-98",level:4},{value:"Return Values",id:"return-values-83",level:4},{value:"min",id:"min-2",level:3},{value:"Parameters",id:"parameters-99",level:4},{value:"Return Values",id:"return-values-84",level:4},{value:"min",id:"min-3",level:3},{value:"Parameters",id:"parameters-100",level:4},{value:"Return Values",id:"return-values-85",level:4},{value:"min",id:"min-4",level:3},{value:"Parameters",id:"parameters-101",level:4},{value:"Return Values",id:"return-values-86",level:4},{value:"max",id:"max",level:3},{value:"Parameters",id:"parameters-102",level:4},{value:"Return Values",id:"return-values-87",level:4},{value:"max",id:"max-1",level:3},{value:"Parameters",id:"parameters-103",level:4},{value:"Return Values",id:"return-values-88",level:4},{value:"max",id:"max-2",level:3},{value:"Parameters",id:"parameters-104",level:4},{value:"Return Values",id:"return-values-89",level:4},{value:"max",id:"max-3",level:3},{value:"Parameters",id:"parameters-105",level:4},{value:"Return Values",id:"return-values-90",level:4},{value:"max",id:"max-4",level:3},{value:"Parameters",id:"parameters-106",level:4},{value:"Return Values",id:"return-values-91",level:4},{value:"shl",id:"shl",level:3},{value:"Parameters",id:"parameters-107",level:4},{value:"Return Values",id:"return-values-92",level:4},{value:"shl",id:"shl-1",level:3},{value:"Parameters",id:"parameters-108",level:4},{value:"Return Values",id:"return-values-93",level:4},{value:"shl",id:"shl-2",level:3},{value:"Parameters",id:"parameters-109",level:4},{value:"Return Values",id:"return-values-94",level:4},{value:"shl",id:"shl-3",level:3},{value:"Parameters",id:"parameters-110",level:4},{value:"Return Values",id:"return-values-95",level:4},{value:"shl",id:"shl-4",level:3},{value:"Parameters",id:"parameters-111",level:4},{value:"Return Values",id:"return-values-96",level:4},{value:"shr",id:"shr",level:3},{value:"Parameters",id:"parameters-112",level:4},{value:"Return Values",id:"return-values-97",level:4},{value:"shr",id:"shr-1",level:3},{value:"Parameters",id:"parameters-113",level:4},{value:"Return Values",id:"return-values-98",level:4},{value:"shr",id:"shr-2",level:3},{value:"Parameters",id:"parameters-114",level:4},{value:"Return Values",id:"return-values-99",level:4},{value:"shr",id:"shr-3",level:3},{value:"Parameters",id:"parameters-115",level:4},{value:"Return Values",id:"return-values-100",level:4},{value:"shr",id:"shr-4",level:3},{value:"Parameters",id:"parameters-116",level:4},{value:"Return Values",id:"return-values-101",level:4},{value:"not",id:"not",level:3},{value:"Parameters",id:"parameters-117",level:4},{value:"Return Values",id:"return-values-102",level:4},{value:"not",id:"not-1",level:3},{value:"Parameters",id:"parameters-118",level:4},{value:"not",id:"not-2",level:3},{value:"Parameters",id:"parameters-119",level:4},{value:"not",id:"not-3",level:3},{value:"Parameters",id:"parameters-120",level:4},{value:"not",id:"not-4",level:3},{value:"Parameters",id:"parameters-121",level:4},{value:"not",id:"not-5",level:3},{value:"Parameters",id:"parameters-122",level:4},{value:"asEbool",id:"asebool",level:3},{value:"Return Values",id:"return-values-103",level:4},{value:"asEuint8",id:"aseuint8",level:3},{value:"asEuint16",id:"aseuint16",level:3},{value:"asEuint32",id:"aseuint32",level:3},{value:"asEuint64",id:"aseuint64",level:3},{value:"asEuint128",id:"aseuint128",level:3},{value:"asEuint256",id:"aseuint256",level:3},{value:"asEaddress",id:"aseaddress",level:3},{value:"asEbool",id:"asebool-1",level:3},{value:"asEuint8",id:"aseuint8-1",level:3},{value:"Return Values",id:"return-values-104",level:4},{value:"asEuint16",id:"aseuint16-1",level:3},{value:"asEuint32",id:"aseuint32-1",level:3},{value:"asEuint64",id:"aseuint64-1",level:3},{value:"asEuint128",id:"aseuint128-1",level:3},{value:"asEuint256",id:"aseuint256-1",level:3},{value:"asEaddress",id:"aseaddress-1",level:3},{value:"asEbool",id:"asebool-2",level:3},{value:"asEuint8",id:"aseuint8-2",level:3},{value:"asEuint16",id:"aseuint16-2",level:3},{value:"Return Values",id:"return-values-105",level:4},{value:"asEuint32",id:"aseuint32-2",level:3},{value:"asEuint64",id:"aseuint64-2",level:3},{value:"asEuint128",id:"aseuint128-2",level:3},{value:"asEuint256",id:"aseuint256-2",level:3},{value:"asEaddress",id:"aseaddress-2",level:3},{value:"asEbool",id:"asebool-3",level:3},{value:"asEuint8",id:"aseuint8-3",level:3},{value:"asEuint16",id:"aseuint16-3",level:3},{value:"asEuint32",id:"aseuint32-3",level:3},{value:"Return Values",id:"return-values-106",level:4},{value:"asEuint64",id:"aseuint64-3",level:3},{value:"asEuint128",id:"aseuint128-3",level:3},{value:"asEuint256",id:"aseuint256-3",level:3},{value:"asEaddress",id:"aseaddress-3",level:3},{value:"asEbool",id:"asebool-4",level:3},{value:"asEuint8",id:"aseuint8-4",level:3},{value:"asEuint16",id:"aseuint16-4",level:3},{value:"asEuint32",id:"aseuint32-4",level:3},{value:"asEuint64",id:"aseuint64-4",level:3},{value:"Return Values",id:"return-values-107",level:4},{value:"asEuint128",id:"aseuint128-4",level:3},{value:"asEuint256",id:"aseuint256-4",level:3},{value:"asEaddress",id:"aseaddress-4",level:3},{value:"asEbool",id:"asebool-5",level:3},{value:"asEuint8",id:"aseuint8-5",level:3},{value:"asEuint16",id:"aseuint16-5",level:3},{value:"asEuint32",id:"aseuint32-5",level:3},{value:"asEuint64",id:"aseuint64-5",level:3},{value:"asEuint128",id:"aseuint128-5",level:3},{value:"Return Values",id:"return-values-108",level:4},{value:"asEuint256",id:"aseuint256-5",level:3},{value:"asEaddress",id:"aseaddress-5",level:3},{value:"asEbool",id:"asebool-6",level:3},{value:"asEuint8",id:"aseuint8-6",level:3},{value:"asEuint16",id:"aseuint16-6",level:3},{value:"asEuint32",id:"aseuint32-6",level:3},{value:"asEuint64",id:"aseuint64-6",level:3},{value:"asEuint128",id:"aseuint128-6",level:3},{value:"asEuint256",id:"aseuint256-6",level:3},{value:"Return Values",id:"return-values-109",level:4},{value:"asEaddress",id:"aseaddress-6",level:3},{value:"asEbool",id:"asebool-7",level:3},{value:"asEuint8",id:"aseuint8-7",level:3},{value:"asEuint16",id:"aseuint16-7",level:3},{value:"asEuint32",id:"aseuint32-7",level:3},{value:"asEuint64",id:"aseuint64-7",level:3},{value:"asEuint128",id:"aseuint128-7",level:3},{value:"asEuint256",id:"aseuint256-7",level:3},{value:"asEaddress",id:"aseaddress-7",level:3},{value:"Return Values",id:"return-values-110",level:4},{value:"asEbool",id:"asebool-8",level:3},{value:"asEuint8",id:"aseuint8-8",level:3},{value:"asEuint16",id:"aseuint16-8",level:3},{value:"asEuint32",id:"aseuint32-8",level:3},{value:"asEuint64",id:"aseuint64-8",level:3},{value:"asEuint128",id:"aseuint128-8",level:3},{value:"asEuint256",id:"aseuint256-8",level:3},{value:"asEaddress",id:"aseaddress-8",level:3},{value:"asEbool",id:"asebool-9",level:3},{value:"Return Values",id:"return-values-111",level:4},{value:"asEuint8",id:"aseuint8-9",level:3},{value:"Return Values",id:"return-values-112",level:4},{value:"asEuint16",id:"aseuint16-9",level:3},{value:"Return Values",id:"return-values-113",level:4},{value:"asEuint32",id:"aseuint32-9",level:3},{value:"Return Values",id:"return-values-114",level:4},{value:"asEuint64",id:"aseuint64-9",level:3},{value:"Return Values",id:"return-values-115",level:4},{value:"asEuint128",id:"aseuint128-9",level:3},{value:"Return Values",id:"return-values-116",level:4},{value:"asEuint256",id:"aseuint256-9",level:3},{value:"Return Values",id:"return-values-117",level:4},{value:"asEaddress",id:"aseaddress-9",level:3},{value:"Return Values",id:"return-values-118",level:4},{value:"asEaddress",id:"aseaddress-10",level:3},{value:"asEbool",id:"asebool-10",level:3},{value:"Return Values",id:"return-values-119",level:4}];function a(e){const n={code:"code",em:"em",h1:"h1",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"fhesol",children:"FHE.sol"}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(ebool v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-1",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint8 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-2",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint16 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-3",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint32 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-4",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint64 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-5",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint128 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-6",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint256 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-7",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(eaddress v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"mathhelper",children:"mathHelper"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mathHelper(uint8 utype, uint256 lhs, uint256 rhs, function (uint8,bytes,bytes) pure external returns (bytes) impl) internal pure returns (uint256 result)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"add",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-1",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-1",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-2",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-2",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-3",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-3",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-4",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-4",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(ebool value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a ebool ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-5",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-1",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint8 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint8 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-6",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-2",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint16 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint16 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-7",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-3",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint32 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint32 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-8",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-4",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint64 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint64 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-9",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-5",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint128 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint128 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-10",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-6",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint256 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint256 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-11",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-7",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(eaddress value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a eaddress ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-12",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(ebool input1) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-1",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint8 input1) internal pure returns (uint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-2",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint16 input1) internal pure returns (uint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-3",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint32 input1) internal pure returns (uint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-4",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint64 input1) internal pure returns (uint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-5",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint128 input1) internal pure returns (uint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-6",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint256 input1) internal pure returns (uint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-7",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(eaddress input1) internal pure returns (address)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-20",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-21",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-13",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-1",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-22",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-14",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-2",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-23",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-15",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-3",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-24",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-16",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-4",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-25",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-17",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-26",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-18",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-1",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-27",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-19",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-2",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-28",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-20",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-3",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-29",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-21",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-4",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-30",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-22",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-31",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-23",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul-1",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-32",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-24",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul-2",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-33",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-25",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul-3",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-34",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-26",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-35",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-27",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-1",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-36",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-28",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-2",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-37",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-29",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-3",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-38",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-30",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-4",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-39",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-31",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"select",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, ebool input2, ebool input3) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-1",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint8 input2, euint8 input3) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-2",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint16 input2, euint16 input3) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-3",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint32 input2, euint32 input3) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-4",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint64 input2, euint64 input3) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-5",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint128 input2, euint128 input3) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-6",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint256 input2, euint256 input3) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-7",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, eaddress input2, eaddress input3) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"req",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(ebool input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-40",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-1",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint8 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-41",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-2",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint16 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-42",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-3",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint32 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-43",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-4",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint64 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-44",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-5",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint128 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-45",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-6",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint256 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-46",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"div",children:"div"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function div(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the div operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-47",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-32",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"div-1",children:"div"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function div(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the div operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-48",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-33",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"div-2",children:"div"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function div(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the div operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-49",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-34",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-50",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-35",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-1",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-51",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-36",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-2",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-52",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-37",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-3",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-53",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-38",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-4",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-54",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-39",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-55",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-40",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-1",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-56",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-41",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-2",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-57",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-42",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-3",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-58",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-43",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-4",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-59",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-44",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"rem",children:"rem"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function rem(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the rem operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-60",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-45",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"rem-1",children:"rem"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function rem(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the rem operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-61",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-46",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"rem-2",children:"rem"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function rem(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the rem operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-62",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-47",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-63",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-48",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-1",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-64",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-49",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-2",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-65",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-50",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-3",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-66",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-51",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-4",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-67",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-52",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-5",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-68",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-53",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-69",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-54",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-1",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-70",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-55",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-2",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-71",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-56",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-3",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-72",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-57",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-4",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-73",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-58",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-5",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-74",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-59",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-75",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-60",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-1",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-76",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-61",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-2",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-77",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-62",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-3",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-78",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-63",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-4",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-79",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-64",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-5",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-80",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-65",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-81",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-66",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-1",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-82",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-67",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-2",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-83",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-68",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-3",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-84",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-69",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-4",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-85",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-70",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-5",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-86",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-71",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-6",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint256 lhs, euint256 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-87",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-72",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-7",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(eaddress lhs, eaddress rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-88",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-73",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-89",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-74",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-1",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-90",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-75",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-2",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-91",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-76",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-3",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-92",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-77",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-4",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-93",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-78",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-5",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-94",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-79",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-6",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint256 lhs, euint256 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-95",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-80",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-7",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(eaddress lhs, eaddress rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-96",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-81",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-97",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-82",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-1",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-98",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-83",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-2",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-99",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-84",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-3",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-100",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-85",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-4",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-101",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-86",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-102",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-87",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-1",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-103",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-88",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-2",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-104",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-89",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-3",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-105",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-90",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-4",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-106",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-91",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-107",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-92",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-1",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-108",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-93",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-2",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-109",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-94",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-3",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-110",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-95",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-4",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-111",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-96",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-112",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-97",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-1",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-113",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-98",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-2",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-114",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-99",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-3",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-115",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-100",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-4",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This functions performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-116",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-101",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(ebool value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:'Performs the "not" for the ebool type'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Implemented by a workaround due to ebool being a euint8 type behind the scenes, therefore xor is needed to assure that not(true) = false and vise-versa"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-117",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"input ebool ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-102",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsxs)(n.td,{children:["Result of the not operation on ",(0,s.jsx)(n.code,{children:"value"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-1",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint8 input1) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-118",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-2",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint16 input1) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-119",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-3",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint32 input1) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-120",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-4",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint64 input1) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-121",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-5",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint128 input1) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-122",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"asebool",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(struct inEbool value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an ebool"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-103",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(ebool value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(ebool value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(ebool value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(ebool value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(ebool value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(ebool value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(ebool value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-1",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint8 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-1",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(struct inEuint8 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint8"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-104",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-1",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint8 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-1",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint8 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-1",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint8 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-1",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint8 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-1",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint8 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-1",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint8 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-2",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint16 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-2",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint16 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-2",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(struct inEuint16 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint16"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-105",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-2",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint16 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-2",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint16 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-2",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint16 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-2",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint16 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-2",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint16 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-3",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint32 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-3",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint32 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-3",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint32 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-3",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(struct inEuint32 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint32"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-106",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-3",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint32 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-3",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint32 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-3",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint32 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-3",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint32 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-4",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint64 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-4",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint64 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-4",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint64 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-4",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint64 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-4",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(struct inEuint64 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint64"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-107",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-4",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint64 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-4",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint64 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-4",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint64 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-5",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint128 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-5",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint128 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-5",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint128 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-5",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint128 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-5",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint128 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-5",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(struct inEuint128 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint128"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-108",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-5",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint128 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-5",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint128 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-6",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint256 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-6",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint256 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-6",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint256 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-6",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint256 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-6",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint256 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-6",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint256 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-6",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(struct inEuint256 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint256"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-109",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-6",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint256 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-7",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(eaddress value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a eaddress to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-7",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(eaddress value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a eaddress to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-7",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(eaddress value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a eaddress to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-7",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(eaddress value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a eaddress to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-7",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(eaddress value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a eaddress to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-7",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(eaddress value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a eaddress to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-7",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(eaddress value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a eaddress to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-7",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(struct inEaddress value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an eaddress"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-110",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"asebool-8",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(uint256 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-8",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(uint256 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-8",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(uint256 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-8",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(uint256 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-8",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(uint256 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-8",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(uint256 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-8",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(uint256 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-8",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(uint256 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-9",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(bytes value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an ebool"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-111",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-9",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(bytes value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint8"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-112",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-9",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(bytes value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint16"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-113",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-9",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(bytes value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint32"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-114",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-9",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(bytes value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint64"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-115",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-9",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(bytes value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint128"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-116",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-9",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(bytes value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint256"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-117",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-9",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(bytes value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an eaddress"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-118",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-10",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(address value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a address to an eaddress\nAllows for a better user experience when working with eaddresses"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-10",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(bool value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a plaintext boolean value to a ciphertext ebool"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Privacy: The input value is public, therefore the ciphertext should be considered public and should be used\nonly for mathematical operations, not to represent data that should be private"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-119",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"A ciphertext representation of the input"})]})})]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>h});var s=t(6540);const r={},i=s.createContext(r);function l(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function h(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/6aab3ca4.d794b6f2.js b/assets/js/6aab3ca4.d794b6f2.js new file mode 100644 index 00000000..670d1104 --- /dev/null +++ b/assets/js/6aab3ca4.d794b6f2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkfhenix_docs=self.webpackChunkfhenix_docs||[]).push([[2388],{6867:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>l,default:()=>u,frontMatter:()=>i,metadata:()=>h,toc:()=>c});var s=t(4848),r=t(8453);const i={},l="FHE.sol",h={id:"devdocs/Solidity API/FHE",title:"FHE.sol",description:"isInitialized",source:"@site/docs/devdocs/Solidity API/FHE.md",sourceDirName:"devdocs/Solidity API",slug:"/devdocs/Solidity API/FHE",permalink:"/docs/devdocs/Solidity API/FHE",draft:!1,unlisted:!1,editUrl:"https://github.com/fhenixprotocol/fhenix-docs/tree/main/docs/devdocs/Solidity API/FHE.md",tags:[],version:"current",frontMatter:{},sidebar:"docsSidebar",previous:{title:"IFHERC20",permalink:"/docs/devdocs/Solidity API/Experimental/IFHERC20"},next:{title:"Permissioned.Sol",permalink:"/docs/devdocs/Solidity API/Permissioned"}},d={},c=[{value:"isInitialized",id:"isinitialized",level:3},{value:"isInitialized",id:"isinitialized-1",level:3},{value:"isInitialized",id:"isinitialized-2",level:3},{value:"isInitialized",id:"isinitialized-3",level:3},{value:"isInitialized",id:"isinitialized-4",level:3},{value:"isInitialized",id:"isinitialized-5",level:3},{value:"isInitialized",id:"isinitialized-6",level:3},{value:"isInitialized",id:"isinitialized-7",level:3},{value:"mathHelper",id:"mathhelper",level:3},{value:"add",id:"add",level:3},{value:"Parameters",id:"parameters",level:4},{value:"Return Values",id:"return-values",level:4},{value:"add",id:"add-1",level:3},{value:"Parameters",id:"parameters-1",level:4},{value:"Return Values",id:"return-values-1",level:4},{value:"add",id:"add-2",level:3},{value:"Parameters",id:"parameters-2",level:4},{value:"Return Values",id:"return-values-2",level:4},{value:"add",id:"add-3",level:3},{value:"Parameters",id:"parameters-3",level:4},{value:"Return Values",id:"return-values-3",level:4},{value:"add",id:"add-4",level:3},{value:"Parameters",id:"parameters-4",level:4},{value:"Return Values",id:"return-values-4",level:4},{value:"sealoutput",id:"sealoutput",level:3},{value:"Parameters",id:"parameters-5",level:4},{value:"Return Values",id:"return-values-5",level:4},{value:"sealoutput",id:"sealoutput-1",level:3},{value:"Parameters",id:"parameters-6",level:4},{value:"Return Values",id:"return-values-6",level:4},{value:"sealoutput",id:"sealoutput-2",level:3},{value:"Parameters",id:"parameters-7",level:4},{value:"Return Values",id:"return-values-7",level:4},{value:"sealoutput",id:"sealoutput-3",level:3},{value:"Parameters",id:"parameters-8",level:4},{value:"Return Values",id:"return-values-8",level:4},{value:"sealoutput",id:"sealoutput-4",level:3},{value:"Parameters",id:"parameters-9",level:4},{value:"Return Values",id:"return-values-9",level:4},{value:"sealoutput",id:"sealoutput-5",level:3},{value:"Parameters",id:"parameters-10",level:4},{value:"Return Values",id:"return-values-10",level:4},{value:"sealoutput",id:"sealoutput-6",level:3},{value:"Parameters",id:"parameters-11",level:4},{value:"Return Values",id:"return-values-11",level:4},{value:"sealoutput",id:"sealoutput-7",level:3},{value:"Parameters",id:"parameters-12",level:4},{value:"Return Values",id:"return-values-12",level:4},{value:"decrypt",id:"decrypt",level:3},{value:"Parameters",id:"parameters-13",level:4},{value:"decrypt",id:"decrypt-1",level:3},{value:"Parameters",id:"parameters-14",level:4},{value:"decrypt",id:"decrypt-2",level:3},{value:"Parameters",id:"parameters-15",level:4},{value:"decrypt",id:"decrypt-3",level:3},{value:"Parameters",id:"parameters-16",level:4},{value:"decrypt",id:"decrypt-4",level:3},{value:"Parameters",id:"parameters-17",level:4},{value:"decrypt",id:"decrypt-5",level:3},{value:"Parameters",id:"parameters-18",level:4},{value:"decrypt",id:"decrypt-6",level:3},{value:"Parameters",id:"parameters-19",level:4},{value:"decrypt",id:"decrypt-7",level:3},{value:"Parameters",id:"parameters-20",level:4},{value:"lte",id:"lte",level:3},{value:"Parameters",id:"parameters-21",level:4},{value:"Return Values",id:"return-values-13",level:4},{value:"lte",id:"lte-1",level:3},{value:"Parameters",id:"parameters-22",level:4},{value:"Return Values",id:"return-values-14",level:4},{value:"lte",id:"lte-2",level:3},{value:"Parameters",id:"parameters-23",level:4},{value:"Return Values",id:"return-values-15",level:4},{value:"lte",id:"lte-3",level:3},{value:"Parameters",id:"parameters-24",level:4},{value:"Return Values",id:"return-values-16",level:4},{value:"lte",id:"lte-4",level:3},{value:"Parameters",id:"parameters-25",level:4},{value:"Return Values",id:"return-values-17",level:4},{value:"sub",id:"sub",level:3},{value:"Parameters",id:"parameters-26",level:4},{value:"Return Values",id:"return-values-18",level:4},{value:"sub",id:"sub-1",level:3},{value:"Parameters",id:"parameters-27",level:4},{value:"Return Values",id:"return-values-19",level:4},{value:"sub",id:"sub-2",level:3},{value:"Parameters",id:"parameters-28",level:4},{value:"Return Values",id:"return-values-20",level:4},{value:"sub",id:"sub-3",level:3},{value:"Parameters",id:"parameters-29",level:4},{value:"Return Values",id:"return-values-21",level:4},{value:"sub",id:"sub-4",level:3},{value:"Parameters",id:"parameters-30",level:4},{value:"Return Values",id:"return-values-22",level:4},{value:"mul",id:"mul",level:3},{value:"Parameters",id:"parameters-31",level:4},{value:"Return Values",id:"return-values-23",level:4},{value:"mul",id:"mul-1",level:3},{value:"Parameters",id:"parameters-32",level:4},{value:"Return Values",id:"return-values-24",level:4},{value:"mul",id:"mul-2",level:3},{value:"Parameters",id:"parameters-33",level:4},{value:"Return Values",id:"return-values-25",level:4},{value:"mul",id:"mul-3",level:3},{value:"Parameters",id:"parameters-34",level:4},{value:"Return Values",id:"return-values-26",level:4},{value:"lt",id:"lt",level:3},{value:"Parameters",id:"parameters-35",level:4},{value:"Return Values",id:"return-values-27",level:4},{value:"lt",id:"lt-1",level:3},{value:"Parameters",id:"parameters-36",level:4},{value:"Return Values",id:"return-values-28",level:4},{value:"lt",id:"lt-2",level:3},{value:"Parameters",id:"parameters-37",level:4},{value:"Return Values",id:"return-values-29",level:4},{value:"lt",id:"lt-3",level:3},{value:"Parameters",id:"parameters-38",level:4},{value:"Return Values",id:"return-values-30",level:4},{value:"lt",id:"lt-4",level:3},{value:"Parameters",id:"parameters-39",level:4},{value:"Return Values",id:"return-values-31",level:4},{value:"select",id:"select",level:3},{value:"select",id:"select-1",level:3},{value:"select",id:"select-2",level:3},{value:"select",id:"select-3",level:3},{value:"select",id:"select-4",level:3},{value:"select",id:"select-5",level:3},{value:"select",id:"select-6",level:3},{value:"select",id:"select-7",level:3},{value:"req",id:"req",level:3},{value:"Parameters",id:"parameters-40",level:4},{value:"req",id:"req-1",level:3},{value:"Parameters",id:"parameters-41",level:4},{value:"req",id:"req-2",level:3},{value:"Parameters",id:"parameters-42",level:4},{value:"req",id:"req-3",level:3},{value:"Parameters",id:"parameters-43",level:4},{value:"req",id:"req-4",level:3},{value:"Parameters",id:"parameters-44",level:4},{value:"req",id:"req-5",level:3},{value:"Parameters",id:"parameters-45",level:4},{value:"req",id:"req-6",level:3},{value:"Parameters",id:"parameters-46",level:4},{value:"div",id:"div",level:3},{value:"Parameters",id:"parameters-47",level:4},{value:"Return Values",id:"return-values-32",level:4},{value:"div",id:"div-1",level:3},{value:"Parameters",id:"parameters-48",level:4},{value:"Return Values",id:"return-values-33",level:4},{value:"div",id:"div-2",level:3},{value:"Parameters",id:"parameters-49",level:4},{value:"Return Values",id:"return-values-34",level:4},{value:"gt",id:"gt",level:3},{value:"Parameters",id:"parameters-50",level:4},{value:"Return Values",id:"return-values-35",level:4},{value:"gt",id:"gt-1",level:3},{value:"Parameters",id:"parameters-51",level:4},{value:"Return Values",id:"return-values-36",level:4},{value:"gt",id:"gt-2",level:3},{value:"Parameters",id:"parameters-52",level:4},{value:"Return Values",id:"return-values-37",level:4},{value:"gt",id:"gt-3",level:3},{value:"Parameters",id:"parameters-53",level:4},{value:"Return Values",id:"return-values-38",level:4},{value:"gt",id:"gt-4",level:3},{value:"Parameters",id:"parameters-54",level:4},{value:"Return Values",id:"return-values-39",level:4},{value:"gte",id:"gte",level:3},{value:"Parameters",id:"parameters-55",level:4},{value:"Return Values",id:"return-values-40",level:4},{value:"gte",id:"gte-1",level:3},{value:"Parameters",id:"parameters-56",level:4},{value:"Return Values",id:"return-values-41",level:4},{value:"gte",id:"gte-2",level:3},{value:"Parameters",id:"parameters-57",level:4},{value:"Return Values",id:"return-values-42",level:4},{value:"gte",id:"gte-3",level:3},{value:"Parameters",id:"parameters-58",level:4},{value:"Return Values",id:"return-values-43",level:4},{value:"gte",id:"gte-4",level:3},{value:"Parameters",id:"parameters-59",level:4},{value:"Return Values",id:"return-values-44",level:4},{value:"rem",id:"rem",level:3},{value:"Parameters",id:"parameters-60",level:4},{value:"Return Values",id:"return-values-45",level:4},{value:"rem",id:"rem-1",level:3},{value:"Parameters",id:"parameters-61",level:4},{value:"Return Values",id:"return-values-46",level:4},{value:"rem",id:"rem-2",level:3},{value:"Parameters",id:"parameters-62",level:4},{value:"Return Values",id:"return-values-47",level:4},{value:"and",id:"and",level:3},{value:"Parameters",id:"parameters-63",level:4},{value:"Return Values",id:"return-values-48",level:4},{value:"and",id:"and-1",level:3},{value:"Parameters",id:"parameters-64",level:4},{value:"Return Values",id:"return-values-49",level:4},{value:"and",id:"and-2",level:3},{value:"Parameters",id:"parameters-65",level:4},{value:"Return Values",id:"return-values-50",level:4},{value:"and",id:"and-3",level:3},{value:"Parameters",id:"parameters-66",level:4},{value:"Return Values",id:"return-values-51",level:4},{value:"and",id:"and-4",level:3},{value:"Parameters",id:"parameters-67",level:4},{value:"Return Values",id:"return-values-52",level:4},{value:"and",id:"and-5",level:3},{value:"Parameters",id:"parameters-68",level:4},{value:"Return Values",id:"return-values-53",level:4},{value:"or",id:"or",level:3},{value:"Parameters",id:"parameters-69",level:4},{value:"Return Values",id:"return-values-54",level:4},{value:"or",id:"or-1",level:3},{value:"Parameters",id:"parameters-70",level:4},{value:"Return Values",id:"return-values-55",level:4},{value:"or",id:"or-2",level:3},{value:"Parameters",id:"parameters-71",level:4},{value:"Return Values",id:"return-values-56",level:4},{value:"or",id:"or-3",level:3},{value:"Parameters",id:"parameters-72",level:4},{value:"Return Values",id:"return-values-57",level:4},{value:"or",id:"or-4",level:3},{value:"Parameters",id:"parameters-73",level:4},{value:"Return Values",id:"return-values-58",level:4},{value:"or",id:"or-5",level:3},{value:"Parameters",id:"parameters-74",level:4},{value:"Return Values",id:"return-values-59",level:4},{value:"xor",id:"xor",level:3},{value:"Parameters",id:"parameters-75",level:4},{value:"Return Values",id:"return-values-60",level:4},{value:"xor",id:"xor-1",level:3},{value:"Parameters",id:"parameters-76",level:4},{value:"Return Values",id:"return-values-61",level:4},{value:"xor",id:"xor-2",level:3},{value:"Parameters",id:"parameters-77",level:4},{value:"Return Values",id:"return-values-62",level:4},{value:"xor",id:"xor-3",level:3},{value:"Parameters",id:"parameters-78",level:4},{value:"Return Values",id:"return-values-63",level:4},{value:"xor",id:"xor-4",level:3},{value:"Parameters",id:"parameters-79",level:4},{value:"Return Values",id:"return-values-64",level:4},{value:"xor",id:"xor-5",level:3},{value:"Parameters",id:"parameters-80",level:4},{value:"Return Values",id:"return-values-65",level:4},{value:"eq",id:"eq",level:3},{value:"Parameters",id:"parameters-81",level:4},{value:"Return Values",id:"return-values-66",level:4},{value:"eq",id:"eq-1",level:3},{value:"Parameters",id:"parameters-82",level:4},{value:"Return Values",id:"return-values-67",level:4},{value:"eq",id:"eq-2",level:3},{value:"Parameters",id:"parameters-83",level:4},{value:"Return Values",id:"return-values-68",level:4},{value:"eq",id:"eq-3",level:3},{value:"Parameters",id:"parameters-84",level:4},{value:"Return Values",id:"return-values-69",level:4},{value:"eq",id:"eq-4",level:3},{value:"Parameters",id:"parameters-85",level:4},{value:"Return Values",id:"return-values-70",level:4},{value:"eq",id:"eq-5",level:3},{value:"Parameters",id:"parameters-86",level:4},{value:"Return Values",id:"return-values-71",level:4},{value:"eq",id:"eq-6",level:3},{value:"Parameters",id:"parameters-87",level:4},{value:"Return Values",id:"return-values-72",level:4},{value:"eq",id:"eq-7",level:3},{value:"Parameters",id:"parameters-88",level:4},{value:"Return Values",id:"return-values-73",level:4},{value:"ne",id:"ne",level:3},{value:"Parameters",id:"parameters-89",level:4},{value:"Return Values",id:"return-values-74",level:4},{value:"ne",id:"ne-1",level:3},{value:"Parameters",id:"parameters-90",level:4},{value:"Return Values",id:"return-values-75",level:4},{value:"ne",id:"ne-2",level:3},{value:"Parameters",id:"parameters-91",level:4},{value:"Return Values",id:"return-values-76",level:4},{value:"ne",id:"ne-3",level:3},{value:"Parameters",id:"parameters-92",level:4},{value:"Return Values",id:"return-values-77",level:4},{value:"ne",id:"ne-4",level:3},{value:"Parameters",id:"parameters-93",level:4},{value:"Return Values",id:"return-values-78",level:4},{value:"ne",id:"ne-5",level:3},{value:"Parameters",id:"parameters-94",level:4},{value:"Return Values",id:"return-values-79",level:4},{value:"ne",id:"ne-6",level:3},{value:"Parameters",id:"parameters-95",level:4},{value:"Return Values",id:"return-values-80",level:4},{value:"ne",id:"ne-7",level:3},{value:"Parameters",id:"parameters-96",level:4},{value:"Return Values",id:"return-values-81",level:4},{value:"min",id:"min",level:3},{value:"Parameters",id:"parameters-97",level:4},{value:"Return Values",id:"return-values-82",level:4},{value:"min",id:"min-1",level:3},{value:"Parameters",id:"parameters-98",level:4},{value:"Return Values",id:"return-values-83",level:4},{value:"min",id:"min-2",level:3},{value:"Parameters",id:"parameters-99",level:4},{value:"Return Values",id:"return-values-84",level:4},{value:"min",id:"min-3",level:3},{value:"Parameters",id:"parameters-100",level:4},{value:"Return Values",id:"return-values-85",level:4},{value:"min",id:"min-4",level:3},{value:"Parameters",id:"parameters-101",level:4},{value:"Return Values",id:"return-values-86",level:4},{value:"max",id:"max",level:3},{value:"Parameters",id:"parameters-102",level:4},{value:"Return Values",id:"return-values-87",level:4},{value:"max",id:"max-1",level:3},{value:"Parameters",id:"parameters-103",level:4},{value:"Return Values",id:"return-values-88",level:4},{value:"max",id:"max-2",level:3},{value:"Parameters",id:"parameters-104",level:4},{value:"Return Values",id:"return-values-89",level:4},{value:"max",id:"max-3",level:3},{value:"Parameters",id:"parameters-105",level:4},{value:"Return Values",id:"return-values-90",level:4},{value:"max",id:"max-4",level:3},{value:"Parameters",id:"parameters-106",level:4},{value:"Return Values",id:"return-values-91",level:4},{value:"shl",id:"shl",level:3},{value:"Parameters",id:"parameters-107",level:4},{value:"Return Values",id:"return-values-92",level:4},{value:"shl",id:"shl-1",level:3},{value:"Parameters",id:"parameters-108",level:4},{value:"Return Values",id:"return-values-93",level:4},{value:"shl",id:"shl-2",level:3},{value:"Parameters",id:"parameters-109",level:4},{value:"Return Values",id:"return-values-94",level:4},{value:"shl",id:"shl-3",level:3},{value:"Parameters",id:"parameters-110",level:4},{value:"Return Values",id:"return-values-95",level:4},{value:"shl",id:"shl-4",level:3},{value:"Parameters",id:"parameters-111",level:4},{value:"Return Values",id:"return-values-96",level:4},{value:"shr",id:"shr",level:3},{value:"Parameters",id:"parameters-112",level:4},{value:"Return Values",id:"return-values-97",level:4},{value:"shr",id:"shr-1",level:3},{value:"Parameters",id:"parameters-113",level:4},{value:"Return Values",id:"return-values-98",level:4},{value:"shr",id:"shr-2",level:3},{value:"Parameters",id:"parameters-114",level:4},{value:"Return Values",id:"return-values-99",level:4},{value:"shr",id:"shr-3",level:3},{value:"Parameters",id:"parameters-115",level:4},{value:"Return Values",id:"return-values-100",level:4},{value:"shr",id:"shr-4",level:3},{value:"Parameters",id:"parameters-116",level:4},{value:"Return Values",id:"return-values-101",level:4},{value:"not",id:"not",level:3},{value:"Parameters",id:"parameters-117",level:4},{value:"Return Values",id:"return-values-102",level:4},{value:"not",id:"not-1",level:3},{value:"Parameters",id:"parameters-118",level:4},{value:"not",id:"not-2",level:3},{value:"Parameters",id:"parameters-119",level:4},{value:"not",id:"not-3",level:3},{value:"Parameters",id:"parameters-120",level:4},{value:"not",id:"not-4",level:3},{value:"Parameters",id:"parameters-121",level:4},{value:"not",id:"not-5",level:3},{value:"Parameters",id:"parameters-122",level:4},{value:"asEbool",id:"asebool",level:3},{value:"Return Values",id:"return-values-103",level:4},{value:"asEuint8",id:"aseuint8",level:3},{value:"asEuint16",id:"aseuint16",level:3},{value:"asEuint32",id:"aseuint32",level:3},{value:"asEuint64",id:"aseuint64",level:3},{value:"asEuint128",id:"aseuint128",level:3},{value:"asEuint256",id:"aseuint256",level:3},{value:"asEaddress",id:"aseaddress",level:3},{value:"asEbool",id:"asebool-1",level:3},{value:"asEuint8",id:"aseuint8-1",level:3},{value:"Return Values",id:"return-values-104",level:4},{value:"asEuint16",id:"aseuint16-1",level:3},{value:"asEuint32",id:"aseuint32-1",level:3},{value:"asEuint64",id:"aseuint64-1",level:3},{value:"asEuint128",id:"aseuint128-1",level:3},{value:"asEuint256",id:"aseuint256-1",level:3},{value:"asEaddress",id:"aseaddress-1",level:3},{value:"asEbool",id:"asebool-2",level:3},{value:"asEuint8",id:"aseuint8-2",level:3},{value:"asEuint16",id:"aseuint16-2",level:3},{value:"Return Values",id:"return-values-105",level:4},{value:"asEuint32",id:"aseuint32-2",level:3},{value:"asEuint64",id:"aseuint64-2",level:3},{value:"asEuint128",id:"aseuint128-2",level:3},{value:"asEuint256",id:"aseuint256-2",level:3},{value:"asEaddress",id:"aseaddress-2",level:3},{value:"asEbool",id:"asebool-3",level:3},{value:"asEuint8",id:"aseuint8-3",level:3},{value:"asEuint16",id:"aseuint16-3",level:3},{value:"asEuint32",id:"aseuint32-3",level:3},{value:"Return Values",id:"return-values-106",level:4},{value:"asEuint64",id:"aseuint64-3",level:3},{value:"asEuint128",id:"aseuint128-3",level:3},{value:"asEuint256",id:"aseuint256-3",level:3},{value:"asEaddress",id:"aseaddress-3",level:3},{value:"asEbool",id:"asebool-4",level:3},{value:"asEuint8",id:"aseuint8-4",level:3},{value:"asEuint16",id:"aseuint16-4",level:3},{value:"asEuint32",id:"aseuint32-4",level:3},{value:"asEuint64",id:"aseuint64-4",level:3},{value:"Return Values",id:"return-values-107",level:4},{value:"asEuint128",id:"aseuint128-4",level:3},{value:"asEuint256",id:"aseuint256-4",level:3},{value:"asEaddress",id:"aseaddress-4",level:3},{value:"asEbool",id:"asebool-5",level:3},{value:"asEuint8",id:"aseuint8-5",level:3},{value:"asEuint16",id:"aseuint16-5",level:3},{value:"asEuint32",id:"aseuint32-5",level:3},{value:"asEuint64",id:"aseuint64-5",level:3},{value:"asEuint128",id:"aseuint128-5",level:3},{value:"Return Values",id:"return-values-108",level:4},{value:"asEuint256",id:"aseuint256-5",level:3},{value:"asEaddress",id:"aseaddress-5",level:3},{value:"asEbool",id:"asebool-6",level:3},{value:"asEuint8",id:"aseuint8-6",level:3},{value:"asEuint16",id:"aseuint16-6",level:3},{value:"asEuint32",id:"aseuint32-6",level:3},{value:"asEuint64",id:"aseuint64-6",level:3},{value:"asEuint128",id:"aseuint128-6",level:3},{value:"asEuint256",id:"aseuint256-6",level:3},{value:"Return Values",id:"return-values-109",level:4},{value:"asEaddress",id:"aseaddress-6",level:3},{value:"asEbool",id:"asebool-7",level:3},{value:"asEuint8",id:"aseuint8-7",level:3},{value:"asEuint16",id:"aseuint16-7",level:3},{value:"asEuint32",id:"aseuint32-7",level:3},{value:"asEuint64",id:"aseuint64-7",level:3},{value:"asEuint128",id:"aseuint128-7",level:3},{value:"asEuint256",id:"aseuint256-7",level:3},{value:"asEaddress",id:"aseaddress-7",level:3},{value:"Return Values",id:"return-values-110",level:4},{value:"asEbool",id:"asebool-8",level:3},{value:"asEuint8",id:"aseuint8-8",level:3},{value:"asEuint16",id:"aseuint16-8",level:3},{value:"asEuint32",id:"aseuint32-8",level:3},{value:"asEuint64",id:"aseuint64-8",level:3},{value:"asEuint128",id:"aseuint128-8",level:3},{value:"asEuint256",id:"aseuint256-8",level:3},{value:"asEaddress",id:"aseaddress-8",level:3},{value:"asEbool",id:"asebool-9",level:3},{value:"Return Values",id:"return-values-111",level:4},{value:"asEuint8",id:"aseuint8-9",level:3},{value:"Return Values",id:"return-values-112",level:4},{value:"asEuint16",id:"aseuint16-9",level:3},{value:"Return Values",id:"return-values-113",level:4},{value:"asEuint32",id:"aseuint32-9",level:3},{value:"Return Values",id:"return-values-114",level:4},{value:"asEuint64",id:"aseuint64-9",level:3},{value:"Return Values",id:"return-values-115",level:4},{value:"asEuint128",id:"aseuint128-9",level:3},{value:"Return Values",id:"return-values-116",level:4},{value:"asEuint256",id:"aseuint256-9",level:3},{value:"Return Values",id:"return-values-117",level:4},{value:"asEaddress",id:"aseaddress-9",level:3},{value:"Return Values",id:"return-values-118",level:4},{value:"asEaddress",id:"aseaddress-10",level:3},{value:"asEbool",id:"asebool-10",level:3},{value:"Return Values",id:"return-values-119",level:4}];function a(e){const n={code:"code",em:"em",h1:"h1",h3:"h3",h4:"h4",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.h1,{id:"fhesol",children:"FHE.sol"}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(ebool v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-1",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint8 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-2",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint16 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-3",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint32 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-4",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint64 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-5",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint128 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-6",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(euint256 v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"isinitialized-7",children:"isInitialized"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function isInitialized(eaddress v) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"mathhelper",children:"mathHelper"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mathHelper(uint8 utype, uint256 lhs, uint256 rhs, function (uint8,bytes,bytes) pure external returns (bytes) impl) internal pure returns (uint256 result)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"add",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-1",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-1",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-1",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-2",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-2",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-2",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-3",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-3",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-3",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"add-4",children:"add"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function add(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the add operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-4",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-4",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(ebool value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a ebool ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-5",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-5",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-1",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint8 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint8 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-6",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-6",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-2",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint16 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint16 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-7",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-7",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-3",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint32 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint32 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-8",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-8",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-4",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint64 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint64 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-9",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-9",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-5",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint128 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint128 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-10",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-10",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-6",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(euint256 value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on a euint256 ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-11",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-11",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sealoutput-7",children:"sealoutput"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sealoutput(eaddress value, bytes32 publicKey) internal pure returns (string)\n"})}),"\n",(0,s.jsx)(n.p,{children:"performs the sealoutput function on an eaddress ciphertext. This operation returns the plaintext value, sealed for the public key provided"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-12",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"Ciphertext to decrypt and seal"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"publicKey"}),(0,s.jsx)(n.td,{children:"bytes32"}),(0,s.jsx)(n.td,{children:"Public Key that will receive the sealed plaintext"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-12",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"string"}),(0,s.jsxs)(n.td,{children:["Plaintext input, sealed for the owner of ",(0,s.jsx)(n.code,{children:"publicKey"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(ebool input1) internal pure returns (bool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-13",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-1",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint8 input1) internal pure returns (uint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-14",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-2",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint16 input1) internal pure returns (uint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-15",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-3",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint32 input1) internal pure returns (uint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-16",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-4",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint64 input1) internal pure returns (uint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-17",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-5",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint128 input1) internal pure returns (uint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-18",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-6",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(euint256 input1) internal pure returns (uint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-19",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"decrypt-7",children:"decrypt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function decrypt(eaddress input1) internal pure returns (address)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the decrypt operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-20",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-21",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-13",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-1",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-22",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-14",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-2",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-23",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-15",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-3",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-24",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-16",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lte-4",children:"lte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lte(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-25",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-17",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-26",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-18",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-1",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-27",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-19",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-2",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-28",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-20",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-3",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-29",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-21",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"sub-4",children:"sub"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function sub(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the sub operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-30",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-22",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-31",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-23",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul-1",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-32",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-24",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul-2",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-33",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-25",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"mul-3",children:"mul"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function mul(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the mul operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-34",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-26",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-35",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-27",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-1",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-36",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-28",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-2",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-37",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-29",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-3",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-38",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-30",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"lt-4",children:"lt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function lt(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the lt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-39",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-31",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"select",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, ebool input2, ebool input3) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-1",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint8 input2, euint8 input3) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-2",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint16 input2, euint16 input3) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-3",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint32 input2, euint32 input3) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-4",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint64 input2, euint64 input3) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-5",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint128 input2, euint128 input3) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-6",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, euint256 input2, euint256 input3) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"select-7",children:"select"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function select(ebool input1, eaddress input2, eaddress input3) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.h3,{id:"req",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(ebool input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-40",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-1",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint8 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-41",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-2",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint16 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-42",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-3",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint32 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-43",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-4",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint64 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-44",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-5",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint128 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-45",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"req-6",children:"req"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function req(euint256 input1) internal pure\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the req operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-46",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"div",children:"div"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function div(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the div operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-47",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-32",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"div-1",children:"div"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function div(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the div operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-48",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-33",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"div-2",children:"div"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function div(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the div operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-49",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-34",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-50",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-35",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-1",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-51",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-36",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-2",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-52",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-37",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-3",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-53",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-38",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gt-4",children:"gt"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gt(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gt operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-54",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-39",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-55",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-40",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-1",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-56",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-41",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-2",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-57",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-42",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-3",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-58",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-43",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"gte-4",children:"gte"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function gte(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the gte operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-59",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-44",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"rem",children:"rem"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function rem(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the rem operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-60",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-45",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"rem-1",children:"rem"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function rem(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the rem operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-61",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-46",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"rem-2",children:"rem"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function rem(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the rem operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-62",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-47",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-63",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-48",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-1",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-64",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-49",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-2",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-65",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-50",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-3",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-66",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-51",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-4",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-67",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-52",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"and-5",children:"and"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function and(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the and operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-68",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-53",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-69",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-54",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-1",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-70",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-55",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-2",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-71",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-56",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-3",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-72",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-57",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-4",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-73",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-58",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"or-5",children:"or"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function or(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the or operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-74",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-59",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-75",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-60",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-1",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-76",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-61",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-2",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-77",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-62",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-3",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-78",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-63",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-4",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-79",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-64",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"xor-5",children:"xor"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function xor(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the xor operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-80",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-65",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-81",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-66",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-1",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-82",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-67",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-2",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-83",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-68",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-3",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-84",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-69",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-4",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-85",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-70",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-5",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-86",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-71",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-6",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(euint256 lhs, euint256 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-87",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-72",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"eq-7",children:"eq"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function eq(eaddress lhs, eaddress rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the eq operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-88",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-73",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(ebool lhs, ebool rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-89",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-74",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-1",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint8 lhs, euint8 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-90",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-75",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-2",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint16 lhs, euint16 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-91",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-76",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-3",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint32 lhs, euint32 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-92",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-77",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-4",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint64 lhs, euint64 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-93",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-78",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-5",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint128 lhs, euint128 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-94",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-79",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-6",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(euint256 lhs, euint256 rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-95",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-80",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"ne-7",children:"ne"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function ne(eaddress lhs, eaddress rhs) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the ne operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-96",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-81",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-97",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-82",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-1",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-98",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-83",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-2",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-99",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-84",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-3",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-100",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-85",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"min-4",children:"min"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function min(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the min operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-101",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-86",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-102",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-87",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-1",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-103",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-88",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-2",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-104",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-89",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-3",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-105",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-90",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"max-4",children:"max"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function max(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the max operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-106",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-91",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-107",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-92",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-1",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-108",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-93",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-2",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-109",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-94",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-3",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-110",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-95",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shl-4",children:"shl"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shl(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shl operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-111",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-96",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint8 lhs, euint8 rhs) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-112",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-97",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-1",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint16 lhs, euint16 rhs) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-113",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-98",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-2",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint32 lhs, euint32 rhs) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-114",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-99",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-3",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint64 lhs, euint64 rhs) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-115",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-100",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"shr-4",children:"shr"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function shr(euint128 lhs, euint128 rhs) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"This function performs the shr operation"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext\nPure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-116",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"lhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The first input"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"rhs"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The second input"})]})]})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-101",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"The result of the operation"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(ebool value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:'Performs the "not" for the ebool type'}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Implemented by a workaround due to ebool being a euint8 type behind the scenes, therefore xor is needed to assure that not(true) = false and vise-versa"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-117",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"value"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"input ebool ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h4,{id:"return-values-102",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsxs)(n.td,{children:["Result of the not operation on ",(0,s.jsx)(n.code,{children:"value"})]})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-1",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint8 input1) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-118",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-2",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint16 input1) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-119",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-3",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint32 input1) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-120",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-4",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint64 input1) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-121",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"not-5",children:"not"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function not(euint128 input1) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Performs the not operation on a ciphertext"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Verifies that the input value matches a valid ciphertext. Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access"})}),"\n",(0,s.jsx)(n.h4,{id:"parameters-122",children:"Parameters"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"input1"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"the input ciphertext"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"asebool",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(struct inEbool value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an ebool"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-103",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(ebool value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(ebool value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(ebool value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(ebool value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(ebool value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(ebool value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(ebool value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a ebool to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-1",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint8 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-1",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(struct inEuint8 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint8"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-104",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-1",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint8 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-1",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint8 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-1",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint8 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-1",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint8 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-1",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint8 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-1",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint8 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint8 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-2",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint16 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-2",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint16 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-2",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(struct inEuint16 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint16"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-105",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-2",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint16 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-2",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint16 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-2",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint16 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-2",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint16 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-2",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint16 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint16 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-3",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint32 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-3",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint32 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-3",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint32 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-3",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(struct inEuint32 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint32"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-106",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-3",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint32 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-3",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint32 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-3",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint32 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-3",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint32 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint32 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-4",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint64 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-4",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint64 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-4",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint64 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-4",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint64 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-4",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(struct inEuint64 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint64"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-107",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-4",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint64 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-4",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint64 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-4",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint64 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint64 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-5",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint128 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-5",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint128 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-5",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint128 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-5",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint128 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-5",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint128 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-5",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(struct inEuint128 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint128"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-108",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-5",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(euint128 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-5",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint128 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint128 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-6",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(euint256 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-6",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(euint256 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-6",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(euint256 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-6",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(euint256 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-6",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(euint256 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-6",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(euint256 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-6",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(struct inEuint256 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint256"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-109",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-6",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(euint256 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a euint256 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-7",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(eaddress value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts an eaddress to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-7",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(eaddress value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts an eaddress to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-7",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(eaddress value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts an eaddress to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-7",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(eaddress value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts an eaddress to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-7",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(eaddress value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts an eaddress to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-7",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(eaddress value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts an eaddress to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-7",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(eaddress value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts an eaddress to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-7",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(struct inEaddress value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an eaddress"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-110",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"asebool-8",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(uint256 value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an ebool"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-8",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(uint256 value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint8"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-8",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(uint256 value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint16"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-8",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(uint256 value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint32"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-8",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(uint256 value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint64"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-8",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(uint256 value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint128"}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-8",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(uint256 value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an euint256"}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-8",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(uint256 value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a uint256 to an eaddress"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-9",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(bytes value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an ebool"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-111",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint8-9",children:"asEuint8"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint8(bytes value) internal pure returns (euint8)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint8"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-112",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint8"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint16-9",children:"asEuint16"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint16(bytes value) internal pure returns (euint16)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint16"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-113",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint16"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint32-9",children:"asEuint32"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint32(bytes value) internal pure returns (euint32)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint32"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-114",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint32"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint64-9",children:"asEuint64"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint64(bytes value) internal pure returns (euint64)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint64"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-115",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint64"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint128-9",children:"asEuint128"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint128(bytes value) internal pure returns (euint128)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint128"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-116",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint128"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseuint256-9",children:"asEuint256"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEuint256(bytes value) internal pure returns (euint256)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint256"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-117",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"euint256"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-9",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(bytes value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Parses input ciphertexts from the user. Converts from encrypted raw bytes to an eaddress"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-118",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"eaddress"}),(0,s.jsx)(n.td,{children:"a ciphertext representation of the input"})]})})]}),"\n",(0,s.jsx)(n.h3,{id:"aseaddress-10",children:"asEaddress"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEaddress(address value) internal pure returns (eaddress)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a address to an eaddress\nAllows for a better user experience when working with eaddresses"}),"\n",(0,s.jsx)(n.h3,{id:"asebool-10",children:"asEbool"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-solidity",children:"function asEbool(bool value) internal pure returns (ebool)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Converts a plaintext boolean value to a ciphertext ebool"}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Privacy: The input value is public, therefore the ciphertext should be considered public and should be used\nonly for mathematical operations, not to represent data that should be private"})}),"\n",(0,s.jsx)(n.h4,{id:"return-values-119",children:"Return Values"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Name"}),(0,s.jsx)(n.th,{children:"Type"}),(0,s.jsx)(n.th,{children:"Description"})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"[0]"}),(0,s.jsx)(n.td,{children:"ebool"}),(0,s.jsx)(n.td,{children:"A ciphertext representation of the input"})]})})]})]})}function u(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>l,x:()=>h});var s=t(6540);const r={},i=s.createContext(r);function l(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function h(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.474bba1a.js b/assets/js/runtime~main.4689e569.js similarity index 63% rename from assets/js/runtime~main.474bba1a.js rename to assets/js/runtime~main.4689e569.js index c1c9880c..50868037 100644 --- a/assets/js/runtime~main.474bba1a.js +++ b/assets/js/runtime~main.4689e569.js @@ -1 +1 @@ -(()=>{"use strict";var e,c,a,d,f,b={},t={};function r(e){var c=t[e];if(void 0!==c)return c.exports;var a=t[e]={exports:{}};return b[e].call(a.exports,a,a.exports,r),a.exports}r.m=b,e=[],r.O=(c,a,d,f)=>{if(!a){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[a,d,f]},r.n=e=>{var c=e&&e.__esModule?()=>e.default:()=>e;return r.d(c,{a:c}),c},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};c=c||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~c.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((c=>b[c]=()=>e[c]));return b.default=()=>e,r.d(f,b),f},r.d=(e,c)=>{for(var a in c)r.o(c,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:c[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((c,a)=>(r.f[a](e,c),c)),[])),r.u=e=>"assets/js/"+({42:"7c00667b",169:"6ebc6907",609:"d9ab9a35",643:"ccba1d6d",644:"50376bd6",685:"2fc3947b",849:"0058b4c6",957:"c141421f",1232:"1fe64db5",1235:"a7456010",1434:"7ec24e7b",1512:"00afa580",1588:"57ea0922",1875:"a739edad",2005:"5cc6e2f6",2138:"1a4e3797",2142:"8dfb72aa",2192:"44625589",2214:"e4d6daf3",2388:"6aab3ca4",2485:"f2e2dc26",2518:"7b18d337",2576:"f4b774c8",3046:"a7e0b53d",3164:"fc128ddc",3215:"41a4e207",3307:"a74d882b",3370:"9cc604ee",3376:"3847f788",3416:"14662712",3912:"24da45cd",3915:"6c36c959",4055:"34645dc1",4134:"393be207",4552:"c35c524d",4583:"1df93b7f",4605:"bc265f2d",5343:"c9623b07",5430:"69eebc34",5742:"aba21aa0",5877:"3cdf1dab",5901:"41f39c68",5978:"4f2033fe",6061:"1f391b9e",6492:"c7c98221",6509:"52b9fcd1",6717:"09235513",6782:"3a1f197c",6969:"14eb3368",7064:"42246441",7073:"d947cca9",7098:"a7bd4aaa",7146:"5502e32c",7336:"4091a161",7456:"6deb773c",7499:"65be5726",7775:"0ba8c2c3",7946:"1059f392",8097:"978597a0",8114:"951026e7",8223:"fe47fcd9",8375:"597dd8b5",8401:"17896441",8543:"2b1dc6dd",8709:"5555e52f",9048:"a94703ab",9070:"3d6c9eb5",9647:"5e95c892",9731:"e11920bd",9861:"4f7734c6",9922:"2b741ebd"}[e]||e)+"."+{42:"964f5d59",169:"737bc36c",416:"b4fc881a",609:"4e389ea8",643:"525a05d0",644:"e6cf6771",685:"de863ff0",849:"a41d78c7",957:"ba74c4db",1232:"b5685135",1235:"e494e8e1",1434:"f737e776",1512:"f7f91c97",1588:"bfa20b5d",1875:"30e374c4",2005:"66e0d66f",2138:"9416fdf7",2142:"c1702da9",2192:"9300893f",2214:"36eb822a",2237:"c2740f3d",2388:"7a61ab91",2485:"fc2e5cb3",2490:"edd93e89",2518:"52a3bb28",2576:"6dbffe05",3046:"e4080f1d",3164:"3f1c88fe",3215:"9f5a2ed3",3307:"00a0be80",3370:"2d9e0a62",3376:"10c593ac",3416:"f765f7d0",3912:"6069f782",3915:"c6a5c43c",4055:"dc515f97",4134:"d7fb7c7e",4552:"6ec6c64b",4583:"80ad2fb1",4605:"a4cfad58",5343:"234c248f",5430:"73347917",5742:"77409faf",5877:"c6c125dd",5901:"80cdb652",5978:"b6f1a37e",6061:"b8a13666",6492:"ae0ce65d",6509:"46c2fd69",6717:"0dbb6c36",6782:"f1e9b79b",6969:"7d928f65",7064:"5ecc9a35",7073:"c5741845",7098:"fa18e033",7146:"ef010b84",7336:"7fbfdb6c",7456:"3275a2e6",7499:"0719a8e3",7775:"3531da4d",7946:"7b2d9830",8097:"5cf12fb7",8114:"2aba2dc8",8223:"4a6631ac",8375:"ef2711b2",8401:"2e155ba7",8543:"4ee77c8a",8709:"a92b7cdf",8913:"f5ec71cd",9048:"c72de6cb",9070:"5e0095c7",9412:"b062857e",9462:"f0f17b38",9647:"150cca41",9731:"ac41e7ab",9861:"dd3d3bd7",9922:"bccf929a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,c)=>Object.prototype.hasOwnProperty.call(e,c),d={},f="fhenix-docs:",r.l=(e,c,a,b)=>{if(d[e])d[e].push(c);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(a))),c)return c(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={14662712:"3416",17896441:"8401",42246441:"7064",44625589:"2192","7c00667b":"42","6ebc6907":"169",d9ab9a35:"609",ccba1d6d:"643","50376bd6":"644","2fc3947b":"685","0058b4c6":"849",c141421f:"957","1fe64db5":"1232",a7456010:"1235","7ec24e7b":"1434","00afa580":"1512","57ea0922":"1588",a739edad:"1875","5cc6e2f6":"2005","1a4e3797":"2138","8dfb72aa":"2142",e4d6daf3:"2214","6aab3ca4":"2388",f2e2dc26:"2485","7b18d337":"2518",f4b774c8:"2576",a7e0b53d:"3046",fc128ddc:"3164","41a4e207":"3215",a74d882b:"3307","9cc604ee":"3370","3847f788":"3376","24da45cd":"3912","6c36c959":"3915","34645dc1":"4055","393be207":"4134",c35c524d:"4552","1df93b7f":"4583",bc265f2d:"4605",c9623b07:"5343","69eebc34":"5430",aba21aa0:"5742","3cdf1dab":"5877","41f39c68":"5901","4f2033fe":"5978","1f391b9e":"6061",c7c98221:"6492","52b9fcd1":"6509","09235513":"6717","3a1f197c":"6782","14eb3368":"6969",d947cca9:"7073",a7bd4aaa:"7098","5502e32c":"7146","4091a161":"7336","6deb773c":"7456","65be5726":"7499","0ba8c2c3":"7775","1059f392":"7946","978597a0":"8097","951026e7":"8114",fe47fcd9:"8223","597dd8b5":"8375","2b1dc6dd":"8543","5555e52f":"8709",a94703ab:"9048","3d6c9eb5":"9070","5e95c892":"9647",e11920bd:"9731","4f7734c6":"9861","2b741ebd":"9922"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(c,a)=>{var d=r.o(e,c)?e[c]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(1869|5354)$/.test(c))e[c]=0;else{var f=new Promise(((a,f)=>d=e[c]=[a,f]));a.push(d[2]=f);var b=r.p+r.u(c),t=new Error;r.l(b,(a=>{if(r.o(e,c)&&(0!==(d=e[c])&&(e[c]=void 0),d)){var f=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+c+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+c,c)}},r.O.j=c=>0===e[c];var c=(c,a)=>{var d,f,b=a[0],t=a[1],o=a[2],n=0;if(b.some((c=>0!==e[c]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(c&&c(a);n{"use strict";var e,a,c,d,f,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return b[e].call(c.exports,c,c.exports,r),c.exports}r.m=b,e=[],r.O=(a,c,d,f)=>{if(!c){var b=1/0;for(i=0;i=f)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[c,d,f]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var f=Object.create(null);r.r(f);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(f,b),f},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({42:"7c00667b",169:"6ebc6907",609:"d9ab9a35",643:"ccba1d6d",644:"50376bd6",685:"2fc3947b",849:"0058b4c6",957:"c141421f",1232:"1fe64db5",1235:"a7456010",1434:"7ec24e7b",1512:"00afa580",1588:"57ea0922",1875:"a739edad",2005:"5cc6e2f6",2138:"1a4e3797",2142:"8dfb72aa",2192:"44625589",2214:"e4d6daf3",2388:"6aab3ca4",2485:"f2e2dc26",2518:"7b18d337",2576:"f4b774c8",3046:"a7e0b53d",3164:"fc128ddc",3215:"41a4e207",3307:"a74d882b",3370:"9cc604ee",3376:"3847f788",3416:"14662712",3912:"24da45cd",3915:"6c36c959",4055:"34645dc1",4134:"393be207",4552:"c35c524d",4583:"1df93b7f",4605:"bc265f2d",5343:"c9623b07",5430:"69eebc34",5742:"aba21aa0",5877:"3cdf1dab",5901:"41f39c68",5978:"4f2033fe",6061:"1f391b9e",6492:"c7c98221",6509:"52b9fcd1",6717:"09235513",6782:"3a1f197c",6969:"14eb3368",7064:"42246441",7073:"d947cca9",7098:"a7bd4aaa",7146:"5502e32c",7336:"4091a161",7456:"6deb773c",7499:"65be5726",7775:"0ba8c2c3",7946:"1059f392",8097:"978597a0",8114:"951026e7",8223:"fe47fcd9",8375:"597dd8b5",8401:"17896441",8543:"2b1dc6dd",8709:"5555e52f",9048:"a94703ab",9070:"3d6c9eb5",9647:"5e95c892",9731:"e11920bd",9861:"4f7734c6",9922:"2b741ebd"}[e]||e)+"."+{42:"964f5d59",169:"737bc36c",416:"b4fc881a",609:"4e389ea8",643:"525a05d0",644:"e6cf6771",685:"de863ff0",849:"a41d78c7",957:"ba74c4db",1232:"b5685135",1235:"e494e8e1",1434:"f737e776",1512:"f7f91c97",1588:"bfa20b5d",1875:"30e374c4",2005:"66e0d66f",2138:"9416fdf7",2142:"c1702da9",2192:"9300893f",2214:"36eb822a",2237:"c2740f3d",2388:"d794b6f2",2485:"fc2e5cb3",2490:"edd93e89",2518:"52a3bb28",2576:"6dbffe05",3046:"e4080f1d",3164:"3f1c88fe",3215:"9f5a2ed3",3307:"00a0be80",3370:"2d9e0a62",3376:"10c593ac",3416:"f765f7d0",3912:"6069f782",3915:"c6a5c43c",4055:"dc515f97",4134:"d7fb7c7e",4552:"6ec6c64b",4583:"80ad2fb1",4605:"a4cfad58",5343:"234c248f",5430:"73347917",5742:"77409faf",5877:"c6c125dd",5901:"80cdb652",5978:"b6f1a37e",6061:"b8a13666",6492:"ae0ce65d",6509:"46c2fd69",6717:"0dbb6c36",6782:"f1e9b79b",6969:"7d928f65",7064:"5ecc9a35",7073:"c5741845",7098:"fa18e033",7146:"ef010b84",7336:"7fbfdb6c",7456:"3275a2e6",7499:"0719a8e3",7775:"3531da4d",7946:"7b2d9830",8097:"5cf12fb7",8114:"2aba2dc8",8223:"4a6631ac",8375:"ef2711b2",8401:"2e155ba7",8543:"4ee77c8a",8709:"a92b7cdf",8913:"f5ec71cd",9048:"c72de6cb",9070:"5e0095c7",9412:"b062857e",9462:"f0f17b38",9647:"150cca41",9731:"ac41e7ab",9861:"887c039b",9922:"bccf929a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},f="fhenix-docs:",r.l=(e,a,c,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var f=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),f&&f.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={14662712:"3416",17896441:"8401",42246441:"7064",44625589:"2192","7c00667b":"42","6ebc6907":"169",d9ab9a35:"609",ccba1d6d:"643","50376bd6":"644","2fc3947b":"685","0058b4c6":"849",c141421f:"957","1fe64db5":"1232",a7456010:"1235","7ec24e7b":"1434","00afa580":"1512","57ea0922":"1588",a739edad:"1875","5cc6e2f6":"2005","1a4e3797":"2138","8dfb72aa":"2142",e4d6daf3:"2214","6aab3ca4":"2388",f2e2dc26:"2485","7b18d337":"2518",f4b774c8:"2576",a7e0b53d:"3046",fc128ddc:"3164","41a4e207":"3215",a74d882b:"3307","9cc604ee":"3370","3847f788":"3376","24da45cd":"3912","6c36c959":"3915","34645dc1":"4055","393be207":"4134",c35c524d:"4552","1df93b7f":"4583",bc265f2d:"4605",c9623b07:"5343","69eebc34":"5430",aba21aa0:"5742","3cdf1dab":"5877","41f39c68":"5901","4f2033fe":"5978","1f391b9e":"6061",c7c98221:"6492","52b9fcd1":"6509","09235513":"6717","3a1f197c":"6782","14eb3368":"6969",d947cca9:"7073",a7bd4aaa:"7098","5502e32c":"7146","4091a161":"7336","6deb773c":"7456","65be5726":"7499","0ba8c2c3":"7775","1059f392":"7946","978597a0":"8097","951026e7":"8114",fe47fcd9:"8223","597dd8b5":"8375","2b1dc6dd":"8543","5555e52f":"8709",a94703ab:"9048","3d6c9eb5":"9070","5e95c892":"9647",e11920bd:"9731","4f7734c6":"9861","2b741ebd":"9922"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var f=new Promise(((c,f)=>d=e[a]=[c,f]));c.push(d[2]=f);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var f=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+f+": "+b+")",t.name="ChunkLoadError",t.type=f,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,f,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(c);n Details | Fhenix - + diff --git a/docs/category/fhe-contracts.html b/docs/category/fhe-contracts.html index fb40da74..eab288a1 100644 --- a/docs/category/fhe-contracts.html +++ b/docs/category/fhe-contracts.html @@ -4,7 +4,7 @@ FHE Contracts | Fhenix - + diff --git a/docs/category/fhenix-helium-testnet.html b/docs/category/fhenix-helium-testnet.html index c2dfb36e..f8758ada 100644 --- a/docs/category/fhenix-helium-testnet.html +++ b/docs/category/fhenix-helium-testnet.html @@ -4,7 +4,7 @@ Fhenix Helium Testnet | Fhenix - + diff --git a/docs/category/fhenixjs.html b/docs/category/fhenixjs.html index fa023066..5c36247e 100644 --- a/docs/category/fhenixjs.html +++ b/docs/category/fhenixjs.html @@ -4,7 +4,7 @@ Fhenix.JS | Fhenix - + diff --git a/docs/category/shielded-erc20-token.html b/docs/category/shielded-erc20-token.html index b0e4e9af..4282a0c1 100644 --- a/docs/category/shielded-erc20-token.html +++ b/docs/category/shielded-erc20-token.html @@ -4,7 +4,7 @@ Shielded ERC20 Token | Fhenix - + diff --git a/docs/category/tutorials.html b/docs/category/tutorials.html index cf56f5d7..16c0eb56 100644 --- a/docs/category/tutorials.html +++ b/docs/category/tutorials.html @@ -4,7 +4,7 @@ Tutorials | Fhenix - + diff --git a/docs/devdocs/Encryption and Privacy/Permits-Access-Control.html b/docs/devdocs/Encryption and Privacy/Permits-Access-Control.html index bf0551a9..bbdf46c9 100644 --- a/docs/devdocs/Encryption and Privacy/Permits-Access-Control.html +++ b/docs/devdocs/Encryption and Privacy/Permits-Access-Control.html @@ -4,7 +4,7 @@ 📜 Permits & Access Control | Fhenix - + diff --git a/docs/devdocs/Encryption and Privacy/Privacy-Web3.html b/docs/devdocs/Encryption and Privacy/Privacy-Web3.html index 414876e8..7a66bca1 100644 --- a/docs/devdocs/Encryption and Privacy/Privacy-Web3.html +++ b/docs/devdocs/Encryption and Privacy/Privacy-Web3.html @@ -4,7 +4,7 @@ 🤫 Development Tips – Ensuring Privacy | Fhenix - + diff --git a/docs/devdocs/Examples and References/Examples-fheDapps.html b/docs/devdocs/Examples and References/Examples-fheDapps.html index 36d78c12..6f13661f 100644 --- a/docs/devdocs/Examples and References/Examples-fheDapps.html +++ b/docs/devdocs/Examples and References/Examples-fheDapps.html @@ -4,7 +4,7 @@ Examples & fheDapps | Fhenix - + diff --git a/docs/devdocs/Examples and References/Templates.html b/docs/devdocs/Examples and References/Templates.html index 57be8d2c..b9777ed1 100644 --- a/docs/devdocs/Examples and References/Templates.html +++ b/docs/devdocs/Examples and References/Templates.html @@ -4,7 +4,7 @@ Templates | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/Connecting-To.html b/docs/devdocs/Fhenix Testnet/Connecting-To.html index ba5919a6..347a811c 100644 --- a/docs/devdocs/Fhenix Testnet/Connecting-To.html +++ b/docs/devdocs/Fhenix Testnet/Connecting-To.html @@ -4,7 +4,7 @@ 🔗 Connecting to Fhenix Helium Testnet | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/Details/Architecture.html b/docs/devdocs/Fhenix Testnet/Details/Architecture.html index 6180f9c9..a85f9389 100644 --- a/docs/devdocs/Fhenix Testnet/Details/Architecture.html +++ b/docs/devdocs/Fhenix Testnet/Details/Architecture.html @@ -4,7 +4,7 @@ 📐 Fhenix Architecture | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/Details/Changelog.html b/docs/devdocs/Fhenix Testnet/Details/Changelog.html index c4fad47b..f8c8b3a6 100644 --- a/docs/devdocs/Fhenix Testnet/Details/Changelog.html +++ b/docs/devdocs/Fhenix Testnet/Details/Changelog.html @@ -4,7 +4,7 @@ 🆕 Changelog | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/Details/Fhenix-Differences.html b/docs/devdocs/Fhenix Testnet/Details/Fhenix-Differences.html index 880093e3..fe7d91c8 100644 --- a/docs/devdocs/Fhenix Testnet/Details/Fhenix-Differences.html +++ b/docs/devdocs/Fhenix Testnet/Details/Fhenix-Differences.html @@ -4,7 +4,7 @@ 🔀 Fhenix Differences For Developers | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/Details/Limitations.html b/docs/devdocs/Fhenix Testnet/Details/Limitations.html index 93a2ca76..49569508 100644 --- a/docs/devdocs/Fhenix Testnet/Details/Limitations.html +++ b/docs/devdocs/Fhenix Testnet/Details/Limitations.html @@ -4,7 +4,7 @@ 🛑 Limitations | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/FHE-Overview.html b/docs/devdocs/Fhenix Testnet/FHE-Overview.html index 83b79fa9..d84b4081 100644 --- a/docs/devdocs/Fhenix Testnet/FHE-Overview.html +++ b/docs/devdocs/Fhenix Testnet/FHE-Overview.html @@ -4,7 +4,7 @@ 🧮 FHE Schemes Overview | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/Fhenix-T-FHE.html b/docs/devdocs/Fhenix Testnet/Fhenix-T-FHE.html index fd387c6c..d7171803 100644 --- a/docs/devdocs/Fhenix Testnet/Fhenix-T-FHE.html +++ b/docs/devdocs/Fhenix Testnet/Fhenix-T-FHE.html @@ -4,7 +4,7 @@ ✨ Fhenix & FHE | Fhenix - + diff --git a/docs/devdocs/Fhenix Testnet/Integration.html b/docs/devdocs/Fhenix Testnet/Integration.html index f1984b81..96710dbd 100644 --- a/docs/devdocs/Fhenix Testnet/Integration.html +++ b/docs/devdocs/Fhenix Testnet/Integration.html @@ -4,7 +4,7 @@ 🤲 3rd party Integrations | Fhenix - + diff --git a/docs/devdocs/FhenixJS/Catching Errors.html b/docs/devdocs/FhenixJS/Catching Errors.html index 48175e7a..3141b75b 100644 --- a/docs/devdocs/FhenixJS/Catching Errors.html +++ b/docs/devdocs/FhenixJS/Catching Errors.html @@ -4,7 +4,7 @@ Catching Errors | Fhenix - + diff --git a/docs/devdocs/FhenixJS/Decryption.html b/docs/devdocs/FhenixJS/Decryption.html index e35b0ec2..204a1a10 100644 --- a/docs/devdocs/FhenixJS/Decryption.html +++ b/docs/devdocs/FhenixJS/Decryption.html @@ -4,7 +4,7 @@ (Un)Sealing | Fhenix - + diff --git a/docs/devdocs/FhenixJS/Encryption.html b/docs/devdocs/FhenixJS/Encryption.html index 7dcf0cd5..a1d0fbc7 100644 --- a/docs/devdocs/FhenixJS/Encryption.html +++ b/docs/devdocs/FhenixJS/Encryption.html @@ -4,7 +4,7 @@ Encryption | Fhenix - + diff --git a/docs/devdocs/FhenixJS/Fhenix-JS.html b/docs/devdocs/FhenixJS/Fhenix-JS.html index ac80c0eb..e6bf3856 100644 --- a/docs/devdocs/FhenixJS/Fhenix-JS.html +++ b/docs/devdocs/FhenixJS/Fhenix-JS.html @@ -4,7 +4,7 @@ Installation & Basics | Fhenix - + diff --git a/docs/devdocs/FhenixJS/Network Keys.html b/docs/devdocs/FhenixJS/Network Keys.html index cae2582f..83031ac8 100644 --- a/docs/devdocs/FhenixJS/Network Keys.html +++ b/docs/devdocs/FhenixJS/Network Keys.html @@ -4,7 +4,7 @@ Network Keys | Fhenix - + diff --git a/docs/devdocs/FhenixJS/Permits.html b/docs/devdocs/FhenixJS/Permits.html index 610feea3..307c8e96 100644 --- a/docs/devdocs/FhenixJS/Permits.html +++ b/docs/devdocs/FhenixJS/Permits.html @@ -4,7 +4,7 @@ Permits | Fhenix - + diff --git a/docs/devdocs/FhenixJS/Sending-a-Transaction.html b/docs/devdocs/FhenixJS/Sending-a-Transaction.html index 54a5386a..fee074c6 100644 --- a/docs/devdocs/FhenixJS/Sending-a-Transaction.html +++ b/docs/devdocs/FhenixJS/Sending-a-Transaction.html @@ -4,7 +4,7 @@ End-to-End Example | Fhenix - + diff --git a/docs/devdocs/Setting Up Your Environment/Foundry.html b/docs/devdocs/Setting Up Your Environment/Foundry.html index 39321aaf..96954962 100644 --- a/docs/devdocs/Setting Up Your Environment/Foundry.html +++ b/docs/devdocs/Setting Up Your Environment/Foundry.html @@ -4,7 +4,7 @@ 🛠️ Foundry | Fhenix - + diff --git a/docs/devdocs/Setting Up Your Environment/Gitpod.html b/docs/devdocs/Setting Up Your Environment/Gitpod.html index 18104e7b..8a24e532 100644 --- a/docs/devdocs/Setting Up Your Environment/Gitpod.html +++ b/docs/devdocs/Setting Up Your Environment/Gitpod.html @@ -4,7 +4,7 @@ ☁️ Gitpod | Fhenix - + diff --git a/docs/devdocs/Setting Up Your Environment/Hardhat.html b/docs/devdocs/Setting Up Your Environment/Hardhat.html index 26a18297..7f2cb97c 100644 --- a/docs/devdocs/Setting Up Your Environment/Hardhat.html +++ b/docs/devdocs/Setting Up Your Environment/Hardhat.html @@ -4,7 +4,7 @@ 👷 Hardhat | Fhenix - + diff --git a/docs/devdocs/Setting Up Your Environment/Remix.html b/docs/devdocs/Setting Up Your Environment/Remix.html index 8198a31d..4f8ee9a9 100644 --- a/docs/devdocs/Setting Up Your Environment/Remix.html +++ b/docs/devdocs/Setting Up Your Environment/Remix.html @@ -4,7 +4,7 @@ 🎧 Remix | Fhenix - + diff --git a/docs/devdocs/Setting Up Your Environment/intro.html b/docs/devdocs/Setting Up Your Environment/intro.html index 51558ea5..6b974fe9 100644 --- a/docs/devdocs/Setting Up Your Environment/intro.html +++ b/docs/devdocs/Setting Up Your Environment/intro.html @@ -4,7 +4,7 @@ Overview | Fhenix - + diff --git a/docs/devdocs/Solidity API/Experimental/FHERC20.html b/docs/devdocs/Solidity API/Experimental/FHERC20.html index f4cb15c6..02bc8965 100644 --- a/docs/devdocs/Solidity API/Experimental/FHERC20.html +++ b/docs/devdocs/Solidity API/Experimental/FHERC20.html @@ -4,7 +4,7 @@ FHERC20 | Fhenix - + diff --git a/docs/devdocs/Solidity API/Experimental/IFHERC20.html b/docs/devdocs/Solidity API/Experimental/IFHERC20.html index ab0b4bf4..23de4070 100644 --- a/docs/devdocs/Solidity API/Experimental/IFHERC20.html +++ b/docs/devdocs/Solidity API/Experimental/IFHERC20.html @@ -4,7 +4,7 @@ IFHERC20 | Fhenix - + diff --git a/docs/devdocs/Solidity API/FHE.html b/docs/devdocs/Solidity API/FHE.html index 6c16c232..2d703fa4 100644 --- a/docs/devdocs/Solidity API/FHE.html +++ b/docs/devdocs/Solidity API/FHE.html @@ -4,7 +4,7 @@ FHE.sol | Fhenix - + @@ -56,7 +56,7 @@

Return Value
NameTypeDescription
[0]euint32The result of the operation

add

function add(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the add operation

+

This function performs the add operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -65,7 +65,7 @@

Return Value
NameTypeDescription
[0]euint64The result of the operation

add

function add(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the add operation

+

This function performs the add operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -130,7 +130,7 @@

Return Valu
NameTypeDescription
[0]stringPlaintext input, sealed for the owner of publicKey

sealoutput

function sealoutput(eaddress value, bytes32 publicKey) internal pure returns (string)
-

performs the sealoutput function on a eaddress ciphertext. This operation returns the plaintext value, sealed for the public key provided

+

performs the sealoutput function on an eaddress ciphertext. This operation returns the plaintext value, sealed for the public key provided

Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

NameTypeDescription
valueeaddressCiphertext to decrypt and seal
publicKeybytes32Public Key that will receive the sealed plaintext
@@ -193,7 +193,7 @@

ParametersNameTypeDescriptionlhseuint8The first inputrhseuint8The second input

Return Values

NameTypeDescription
[0]eboolThe result of the operation
-

lte

+

lte

function lte(euint16 lhs, euint16 rhs) internal pure returns (ebool)

This function performs the lte operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext @@ -213,7 +213,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

lte

function lte(euint64 lhs, euint64 rhs) internal pure returns (ebool)
-

This functions performs the lte operation

+

This function performs the lte operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -222,7 +222,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

lte

function lte(euint128 lhs, euint128 rhs) internal pure returns (ebool)
-

This functions performs the lte operation

+

This function performs the lte operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -258,7 +258,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

sub

function sub(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the sub operation

+

This function performs the sub operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -267,7 +267,7 @@

Return Valu
NameTypeDescription
[0]euint64The result of the operation

sub

function sub(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the sub operation

+

This function performs the sub operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -303,7 +303,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

mul

function mul(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the mul operation

+

This function performs the mul operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -339,7 +339,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

lt

function lt(euint64 lhs, euint64 rhs) internal pure returns (ebool)
-

This functions performs the lt operation

+

This function performs the lt operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -348,7 +348,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

lt

function lt(euint128 lhs, euint128 rhs) internal pure returns (ebool)
-

This functions performs the lt operation

+

This function performs the lt operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -469,7 +469,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

gt

function gt(euint64 lhs, euint64 rhs) internal pure returns (ebool)
-

This functions performs the gt operation

+

This function performs the gt operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -478,7 +478,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

gt

function gt(euint128 lhs, euint128 rhs) internal pure returns (ebool)
-

This functions performs the gt operation

+

This function performs the gt operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -514,7 +514,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

gte

function gte(euint64 lhs, euint64 rhs) internal pure returns (ebool)
-

This functions performs the gte operation

+

This function performs the gte operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -523,7 +523,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

gte

function gte(euint128 lhs, euint128 rhs) internal pure returns (ebool)
-

This functions performs the gte operation

+

This function performs the gte operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -595,7 +595,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

and

function and(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the and operation

+

This function performs the and operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -604,7 +604,7 @@

Return Valu
NameTypeDescription
[0]euint64The result of the operation

and

function and(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the and operation

+

This function performs the and operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -649,7 +649,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

or

function or(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the or operation

+

This function performs the or operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -658,7 +658,7 @@

Return Valu
NameTypeDescription
[0]euint64The result of the operation

or

function or(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the or operation

+

This function performs the or operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -703,7 +703,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

xor

function xor(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the xor operation

+

This function performs the xor operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -712,7 +712,7 @@

Return Valu
NameTypeDescription
[0]euint64The result of the operation

xor

function xor(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the xor operation

+

This function performs the xor operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -757,7 +757,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

eq

function eq(euint64 lhs, euint64 rhs) internal pure returns (ebool)
-

This functions performs the eq operation

+

This function performs the eq operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -766,7 +766,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

eq

function eq(euint128 lhs, euint128 rhs) internal pure returns (ebool)
-

This functions performs the eq operation

+

This function performs the eq operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -775,7 +775,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

eq

function eq(euint256 lhs, euint256 rhs) internal pure returns (ebool)
-

This functions performs the eq operation

+

This function performs the eq operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -784,7 +784,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

eq

function eq(eaddress lhs, eaddress rhs) internal pure returns (ebool)
-

This functions performs the eq operation

+

This function performs the eq operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -829,7 +829,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

ne

function ne(euint64 lhs, euint64 rhs) internal pure returns (ebool)
-

This functions performs the ne operation

+

This function performs the ne operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -838,7 +838,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

ne

function ne(euint128 lhs, euint128 rhs) internal pure returns (ebool)
-

This functions performs the ne operation

+

This function performs the ne operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -847,7 +847,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

ne

function ne(euint256 lhs, euint256 rhs) internal pure returns (ebool)
-

This functions performs the ne operation

+

This function performs the ne operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -856,7 +856,7 @@

Return Valu
NameTypeDescription
[0]eboolThe result of the operation

ne

function ne(eaddress lhs, eaddress rhs) internal pure returns (ebool)
-

This functions performs the ne operation

+

This function performs the ne operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -892,7 +892,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

min

function min(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the min operation

+

This function performs the min operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -901,7 +901,7 @@

Return Valu
NameTypeDescription
[0]euint64The result of the operation

min

function min(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the min operation

+

This function performs the min operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -937,7 +937,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

max

function max(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the max operation

+

This function performs the max operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -946,7 +946,7 @@

Return Valu
NameTypeDescription
[0]euint64The result of the operation

max

function max(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the max operation

+

This function performs the max operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -982,7 +982,7 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

shl

function shl(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the shl operation

+

This function performs the shl operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -991,7 +991,7 @@

Return Valu
NameTypeDescription
[0]euint64The result of the operation

shl

function shl(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the shl operation

+

This function performs the shl operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -1027,16 +1027,16 @@

Return Valu
NameTypeDescription
[0]euint32The result of the operation

shr

function shr(euint64 lhs, euint64 rhs) internal pure returns (euint64)
-

This functions performs the shr operation

+

This function performs the shr operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

NameTypeDescription
lhseuint64The first input
rhseuint64The second input
-

Return Values

+

Return Values

NameTypeDescription
[0]euint64The result of the operation

shr

function shr(euint128 lhs, euint128 rhs) internal pure returns (euint128)
-

This functions performs the shr operation

+

This function performs the shr operation

If any of the inputs are expected to be a ciphertext, it verifies that the value matches a valid ciphertext Pure in this function is marked as a hack/workaround - note that this function is NOT pure as fetches of ciphertexts require state access

Parameters

@@ -1141,7 +1141,7 @@

asEboolasEuint8

function asEuint8(euint16 value) internal pure returns (euint8)

Converts a euint16 to an euint8

-

asEuint16

+

asEuint16

function asEuint16(struct inEuint16 value) internal pure returns (euint16)

Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint16

Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key

@@ -1272,25 +1272,25 @@

asEaddressConverts a euint256 to an eaddress

asEbool

function asEbool(eaddress value) internal pure returns (ebool)
-

Converts a eaddress to an ebool

+

Converts an eaddress to an ebool

asEuint8

function asEuint8(eaddress value) internal pure returns (euint8)
-

Converts a eaddress to an euint8

+

Converts an eaddress to an euint8

asEuint16

function asEuint16(eaddress value) internal pure returns (euint16)
-

Converts a eaddress to an euint16

+

Converts an eaddress to an euint16

asEuint32

function asEuint32(eaddress value) internal pure returns (euint32)
-

Converts a eaddress to an euint32

+

Converts an eaddress to an euint32

asEuint64

function asEuint64(eaddress value) internal pure returns (euint64)
-

Converts a eaddress to an euint64

+

Converts an eaddress to an euint64

asEuint128

function asEuint128(eaddress value) internal pure returns (euint128)
-

Converts a eaddress to an euint128

+

Converts an eaddress to an euint128

asEuint256

function asEuint256(eaddress value) internal pure returns (euint256)
-

Converts a eaddress to an euint256

+

Converts an eaddress to an euint256

asEaddress

function asEaddress(struct inEaddress value) internal pure returns (eaddress)

Parses input ciphertexts from the user. Converts from encrypted raw bytes to an eaddress

@@ -1361,7 +1361,7 @@

asEuint256
function asEuint256(bytes value) internal pure returns (euint256)

Parses input ciphertexts from the user. Converts from encrypted raw bytes to an euint256

Also performs validation that the ciphertext is valid and has been encrypted using the network encryption key

-

Return Values

+

Return Values

NameTypeDescription
[0]euint256a ciphertext representation of the input

asEaddress

function asEaddress(bytes value) internal pure returns (eaddress)
diff --git a/docs/devdocs/Solidity API/Permissioned.html b/docs/devdocs/Solidity API/Permissioned.html index 31554adb..bd5a8433 100644 --- a/docs/devdocs/Solidity API/Permissioned.html +++ b/docs/devdocs/Solidity API/Permissioned.html @@ -4,7 +4,7 @@ Permissioned.Sol | Fhenix - + diff --git a/docs/devdocs/Tools and Utilities/Fhenix-Encryption-UI.html b/docs/devdocs/Tools and Utilities/Fhenix-Encryption-UI.html index 9e7aa988..14608b1e 100644 --- a/docs/devdocs/Tools and Utilities/Fhenix-Encryption-UI.html +++ b/docs/devdocs/Tools and Utilities/Fhenix-Encryption-UI.html @@ -4,7 +4,7 @@ 🔐 Fhenix Encryption UI | Fhenix - + diff --git a/docs/devdocs/Tools and Utilities/Fhenix-Hardhat-Plugin.html b/docs/devdocs/Tools and Utilities/Fhenix-Hardhat-Plugin.html index 0ff3649f..64d64bed 100644 --- a/docs/devdocs/Tools and Utilities/Fhenix-Hardhat-Plugin.html +++ b/docs/devdocs/Tools and Utilities/Fhenix-Hardhat-Plugin.html @@ -4,7 +4,7 @@ 👷 Fhenix Hardhat Plugin | Fhenix - + diff --git a/docs/devdocs/Tools and Utilities/Fhenix-Remix-Plugin.html b/docs/devdocs/Tools and Utilities/Fhenix-Remix-Plugin.html index ce3ef692..5403f98f 100644 --- a/docs/devdocs/Tools and Utilities/Fhenix-Remix-Plugin.html +++ b/docs/devdocs/Tools and Utilities/Fhenix-Remix-Plugin.html @@ -4,7 +4,7 @@ 🎧 Fhenix Remix Plugin | Fhenix - + diff --git a/docs/devdocs/Tutorials/Basic/Adding View Functions.html b/docs/devdocs/Tutorials/Basic/Adding View Functions.html index b97c9daf..f748785c 100644 --- a/docs/devdocs/Tutorials/Basic/Adding View Functions.html +++ b/docs/devdocs/Tutorials/Basic/Adding View Functions.html @@ -4,7 +4,7 @@ Adding View Functions | Fhenix - + diff --git a/docs/devdocs/Tutorials/Basic/Deploying.html b/docs/devdocs/Tutorials/Basic/Deploying.html index 5efd42aa..1993c5a3 100644 --- a/docs/devdocs/Tutorials/Basic/Deploying.html +++ b/docs/devdocs/Tutorials/Basic/Deploying.html @@ -4,7 +4,7 @@ Deploying | Fhenix - + diff --git a/docs/devdocs/Tutorials/Basic/Exploring the Template.html b/docs/devdocs/Tutorials/Basic/Exploring the Template.html index 78923bc9..1ef9ff8e 100644 --- a/docs/devdocs/Tutorials/Basic/Exploring the Template.html +++ b/docs/devdocs/Tutorials/Basic/Exploring the Template.html @@ -4,7 +4,7 @@ Exploring the Template | Fhenix - + diff --git a/docs/devdocs/Tutorials/Basic/Setting Up.html b/docs/devdocs/Tutorials/Basic/Setting Up.html index 311c748d..5fc6682c 100644 --- a/docs/devdocs/Tutorials/Basic/Setting Up.html +++ b/docs/devdocs/Tutorials/Basic/Setting Up.html @@ -4,7 +4,7 @@ Setting Up | Fhenix - + diff --git a/docs/devdocs/Tutorials/Basic/Testing.html b/docs/devdocs/Tutorials/Basic/Testing.html index 8e807832..501d8f5a 100644 --- a/docs/devdocs/Tutorials/Basic/Testing.html +++ b/docs/devdocs/Tutorials/Basic/Testing.html @@ -4,7 +4,7 @@ Testing on Fhenix | Fhenix - + diff --git a/docs/devdocs/Tutorials/Basic/Writing-The-Contract.html b/docs/devdocs/Tutorials/Basic/Writing-The-Contract.html index ebb0bfe9..08cab989 100644 --- a/docs/devdocs/Tutorials/Basic/Writing-The-Contract.html +++ b/docs/devdocs/Tutorials/Basic/Writing-The-Contract.html @@ -4,7 +4,7 @@ Writing the Contract | Fhenix - + @@ -58,7 +58,7 @@

UnwrapEncrypted Transfers

transferEncrypted(address to, bytes calldata encryptedAmount) is a public function that transfers encrypted tokens from the function caller to the to address. It converts the encrypted amount into the encrypted integer form euint32 using the FHE.asEuint32(encryptedAmount) function and then calls _transferEncrypted. The function _transferEncrypted(address to, euint32 amount) is an internal function that just calls _transferImpl. -_transferImpl(address from, address to, euint32 amount) performs the actual transfer. It checks if the sender has enough tokens, then adds the amount to the to address encrypted balance and subtracts the same amount from the from address encrypted balance.

+_transferImpl(address from, address to, euint32 amount) performs the actual transfer. It checks if the sender has enough tokens, then adds the amount to the address encrypted balance and subtracts the same amount from the address encrypted balance.

function transferEncrypted(address to, inEuint32 calldata encryptedAmount) public {
euint32 amount = FHE.asEuint32(encryptedAmount);
// Make sure the sender has enough tokens. (lte = less-then-or-equal)
FHE.req(amount.lte(_encBalances[msg.sender]));

// Add to the balance of `to` and subract from the balance of `msg.sender`.
_encBalances[to] = _encBalances[to] + amount;
_encBalances[msg.sender] = _encBalances[msg.sender] - amount;
}

And that's it! To recap, we just created a contract that allows users to wrap and unwrap their tokens, and transfer them in encrypted form.

Let's see what the entire code looks like:

diff --git a/docs/devdocs/Tutorials/Basic/intro.html b/docs/devdocs/Tutorials/Basic/intro.html index dd44771e..fdfe72ef 100644 --- a/docs/devdocs/Tutorials/Basic/intro.html +++ b/docs/devdocs/Tutorials/Basic/intro.html @@ -4,7 +4,7 @@ Overview | Fhenix - + diff --git a/docs/devdocs/Tutorials/Your-First-FHE-Contract.html b/docs/devdocs/Tutorials/Your-First-FHE-Contract.html index 72226e1d..afbde4e2 100644 --- a/docs/devdocs/Tutorials/Your-First-FHE-Contract.html +++ b/docs/devdocs/Tutorials/Your-First-FHE-Contract.html @@ -4,7 +4,7 @@ Your First FHE Contract | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Converting-between-Types.html b/docs/devdocs/Writing Smart Contracts/Converting-between-Types.html index 072b8913..2f100d78 100644 --- a/docs/devdocs/Writing Smart Contracts/Converting-between-Types.html +++ b/docs/devdocs/Writing Smart Contracts/Converting-between-Types.html @@ -4,7 +4,7 @@ 🧙 Type Conversions | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Debug-Logging.html b/docs/devdocs/Writing Smart Contracts/Debug-Logging.html index 57144166..b448f1f3 100644 --- a/docs/devdocs/Writing Smart Contracts/Debug-Logging.html +++ b/docs/devdocs/Writing Smart Contracts/Debug-Logging.html @@ -4,7 +4,7 @@ 🪵 Console.log | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/FHE-sol.html b/docs/devdocs/Writing Smart Contracts/FHE-sol.html index 54fb20f5..06ebd6c3 100644 --- a/docs/devdocs/Writing Smart Contracts/FHE-sol.html +++ b/docs/devdocs/Writing Smart Contracts/FHE-sol.html @@ -4,7 +4,7 @@ 🐤 Getting Started | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Gas-and-Benchmarks.html b/docs/devdocs/Writing Smart Contracts/Gas-and-Benchmarks.html index 01e47da3..0e37bd18 100644 --- a/docs/devdocs/Writing Smart Contracts/Gas-and-Benchmarks.html +++ b/docs/devdocs/Writing Smart Contracts/Gas-and-Benchmarks.html @@ -4,7 +4,7 @@ 🔥 Gas and Benchmarks | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Permissions.html b/docs/devdocs/Writing Smart Contracts/Permissions.html index d1258989..4e6e7c22 100644 --- a/docs/devdocs/Writing Smart Contracts/Permissions.html +++ b/docs/devdocs/Writing Smart Contracts/Permissions.html @@ -4,7 +4,7 @@ 🕵️ Permissions | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Requires.html b/docs/devdocs/Writing Smart Contracts/Requires.html index ed02e4ff..5c843c28 100644 --- a/docs/devdocs/Writing Smart Contracts/Requires.html +++ b/docs/devdocs/Writing Smart Contracts/Requires.html @@ -4,7 +4,7 @@ 🚦Require Statements | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Returning-Data.html b/docs/devdocs/Writing Smart Contracts/Returning-Data.html index 25954fcc..9f82c54b 100644 --- a/docs/devdocs/Writing Smart Contracts/Returning-Data.html +++ b/docs/devdocs/Writing Smart Contracts/Returning-Data.html @@ -4,7 +4,7 @@ 👈 Outputs | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Select.html b/docs/devdocs/Writing Smart Contracts/Select.html index f58d7220..20241307 100644 --- a/docs/devdocs/Writing Smart Contracts/Select.html +++ b/docs/devdocs/Writing Smart Contracts/Select.html @@ -4,7 +4,7 @@ 🌴 Select vs If...else | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Types-and-Operators.html b/docs/devdocs/Writing Smart Contracts/Types-and-Operators.html index 10330ee5..8a623314 100644 --- a/docs/devdocs/Writing Smart Contracts/Types-and-Operators.html +++ b/docs/devdocs/Writing Smart Contracts/Types-and-Operators.html @@ -4,7 +4,7 @@ 🧑‍⚕️ Types and Operations | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/Useful-Tips.html b/docs/devdocs/Writing Smart Contracts/Useful-Tips.html index 6ff95639..4c50c7ca 100644 --- a/docs/devdocs/Writing Smart Contracts/Useful-Tips.html +++ b/docs/devdocs/Writing Smart Contracts/Useful-Tips.html @@ -4,7 +4,7 @@ 💯 Useful Tips | Fhenix - + diff --git a/docs/devdocs/Writing Smart Contracts/User-Inputs.html b/docs/devdocs/Writing Smart Contracts/User-Inputs.html index 2d48524f..522a7b94 100644 --- a/docs/devdocs/Writing Smart Contracts/User-Inputs.html +++ b/docs/devdocs/Writing Smart Contracts/User-Inputs.html @@ -4,7 +4,7 @@ 👉 Inputs | Fhenix - + diff --git a/docs/devdocs/intro.html b/docs/devdocs/intro.html index 8699ecbd..3ee264ec 100644 --- a/docs/devdocs/intro.html +++ b/docs/devdocs/intro.html @@ -4,7 +4,7 @@ Overview | Fhenix - + diff --git a/getting-started.html b/getting-started.html index 7cdcb34a..492d55e5 100644 --- a/getting-started.html +++ b/getting-started.html @@ -4,7 +4,7 @@ Fhenix | Fhenix - + diff --git a/index.html b/index.html index e03f582e..6ca98f40 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ Fhenix | Fhenix - + diff --git a/markdown-page.html b/markdown-page.html index 0c92a6bf..412192a6 100644 --- a/markdown-page.html +++ b/markdown-page.html @@ -4,7 +4,7 @@ Markdown page example | Fhenix - + diff --git a/search.html b/search.html index 2868e8a7..9fa1cacf 100644 --- a/search.html +++ b/search.html @@ -4,7 +4,7 @@ Search the documentation | Fhenix - + diff --git a/sitemap.xml b/sitemap.xml index 54f50501..38b9933d 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://docs.fhenix.zone/getting-started2024-10-07weekly0.5https://docs.fhenix.zone/markdown-page2024-10-07weekly0.5https://docs.fhenix.zone/searchweekly0.5https://docs.fhenix.zone/docs/category/detailsweekly0.5https://docs.fhenix.zone/docs/category/fhe-contractsweekly0.5https://docs.fhenix.zone/docs/category/fhenix-helium-testnetweekly0.5https://docs.fhenix.zone/docs/category/fhenixjsweekly0.5https://docs.fhenix.zone/docs/category/shielded-erc20-tokenweekly0.5https://docs.fhenix.zone/docs/category/tutorialsweekly0.5https://docs.fhenix.zone/docs/devdocs/Encryption%20and%20Privacy/Permits-Access-Control2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Encryption%20and%20Privacy/Privacy-Web32024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Examples%20and%20References/Examples-fheDapps2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Examples%20and%20References/Templates2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Connecting-To2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Architecture2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Changelog2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Fhenix-Differences2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Limitations2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/FHE-Overview2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Fhenix-T-FHE2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Integration2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Catching%20Errors2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Decryption2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Encryption2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Fhenix-JS2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Network%20Keys2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Permits2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Sending-a-Transaction2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/intro2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Foundry2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Gitpod2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Hardhat2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/intro2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Remix2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/Experimental/FHERC202024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/Experimental/IFHERC202024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/FHE2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/Permissioned2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tools%20and%20Utilities/Fhenix-Encryption-UI2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tools%20and%20Utilities/Fhenix-Hardhat-Plugin2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tools%20and%20Utilities/Fhenix-Remix-Plugin2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Adding%20View%20Functions2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Deploying2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Exploring%20the%20Template2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/intro2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Setting%20Up2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Testing2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Writing-The-Contract2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Your-First-FHE-Contract2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Converting-between-Types2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Debug-Logging2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/FHE-sol2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Gas-and-Benchmarks2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Permissions2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Requires2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Returning-Data2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Select2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Types-and-Operators2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Useful-Tips2024-10-07weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/User-Inputs2024-10-07weekly0.5https://docs.fhenix.zone/2024-10-07weekly0.5 \ No newline at end of file +https://docs.fhenix.zone/getting-started2024-10-28weekly0.5https://docs.fhenix.zone/markdown-page2024-10-28weekly0.5https://docs.fhenix.zone/searchweekly0.5https://docs.fhenix.zone/docs/category/detailsweekly0.5https://docs.fhenix.zone/docs/category/fhe-contractsweekly0.5https://docs.fhenix.zone/docs/category/fhenix-helium-testnetweekly0.5https://docs.fhenix.zone/docs/category/fhenixjsweekly0.5https://docs.fhenix.zone/docs/category/shielded-erc20-tokenweekly0.5https://docs.fhenix.zone/docs/category/tutorialsweekly0.5https://docs.fhenix.zone/docs/devdocs/Encryption%20and%20Privacy/Permits-Access-Control2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Encryption%20and%20Privacy/Privacy-Web32024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Examples%20and%20References/Examples-fheDapps2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Examples%20and%20References/Templates2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Connecting-To2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Architecture2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Changelog2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Fhenix-Differences2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Details/Limitations2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/FHE-Overview2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Fhenix-T-FHE2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Fhenix%20Testnet/Integration2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Catching%20Errors2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Decryption2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Encryption2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Fhenix-JS2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Network%20Keys2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Permits2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/FhenixJS/Sending-a-Transaction2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/intro2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Foundry2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Gitpod2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Hardhat2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/intro2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Setting%20Up%20Your%20Environment/Remix2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/Experimental/FHERC202024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/Experimental/IFHERC202024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/FHE2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Solidity%20API/Permissioned2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tools%20and%20Utilities/Fhenix-Encryption-UI2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tools%20and%20Utilities/Fhenix-Hardhat-Plugin2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tools%20and%20Utilities/Fhenix-Remix-Plugin2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Adding%20View%20Functions2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Deploying2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Exploring%20the%20Template2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/intro2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Setting%20Up2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Testing2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Basic/Writing-The-Contract2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Tutorials/Your-First-FHE-Contract2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Converting-between-Types2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Debug-Logging2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/FHE-sol2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Gas-and-Benchmarks2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Permissions2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Requires2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Returning-Data2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Select2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Types-and-Operators2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/Useful-Tips2024-10-28weekly0.5https://docs.fhenix.zone/docs/devdocs/Writing%20Smart%20Contracts/User-Inputs2024-10-28weekly0.5https://docs.fhenix.zone/2024-10-28weekly0.5 \ No newline at end of file