safe_chainid
Version:
safely handle chainIds
247 lines • 14.8 kB
HTML
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>safe_chainid</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="assets/css/main.css">
<script async src="assets/js/search.js" id="search-script"></script>
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="assets/js/search.json" data-base=".">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<ul class="results-priority" style="display:none">
</ul>
<a href="index.html" class="title">safe_chainid</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
</ul>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-3 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="current ">
<a href="modules.html">Exports</a>
</li>
</ul>
</nav>
</div>
<div class="col-7 offset-3 col-content">
<h1>Project safe_chainid</h1>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Enumerations</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-enum"><a href="enums/SafeChainId.html" class="tsd-kind-icon">Safe<wbr>Chain<wbr>Id</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Variables</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-variable"><a href="modules.html#MAX_SAFE_CHAIN_ID" class="tsd-kind-icon">MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID</a></li>
<li class="tsd-kind-variable"><a href="modules.html#MAX_SAFE_CHAIN_ID_HEX" class="tsd-kind-icon">MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID_<wbr>HEX</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Functions</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-function"><a href="modules.html#isSafeChainId" class="tsd-kind-icon">is<wbr>Safe<wbr>Chain<wbr>Id</a></li>
<li class="tsd-kind-function"><a href="modules.html#normalizeChainId" class="tsd-kind-icon">normalize<wbr>Chain<wbr>Id</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Variables</h2>
<section class="tsd-panel tsd-member tsd-kind-variable">
<a name="MAX_SAFE_CHAIN_ID" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID</h3>
<div class="tsd-signature tsd-kind-icon">MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"4503599627370476"</span><span class="tsd-signature-symbol"> = 4503599627370476</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in index.ts:33</li>
</ul>
</aside>
<div class="tsd-comment tsd-typography tsd-comment-shorttext">
<div class="lead">
<p>MAX_SAFE_CHAIN_ID</p>
</div>
</div><div class="tsd-comment tsd-typography tsd-comment-tags">
<dl class="tsd-comment-tags"><dt>constant</dt>
<dd><p>MAX_SAFE_CHAIN_ID</p>
</dd><dt>returns</dt>
<dd></dd></dl>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-variable">
<a name="MAX_SAFE_CHAIN_ID_HEX" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID_<wbr>HEX</h3>
<div class="tsd-signature tsd-kind-icon">MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID_<wbr>HEX<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">"4503599627370476"</span><span class="tsd-signature-symbol"> = 0xFFFFFFFFFFFEC</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in index.ts:40</li>
</ul>
</aside>
<div class="tsd-comment tsd-typography tsd-comment-tags">
<dl class="tsd-comment-tags"><dt>constant</dt>
<dd><p>MAX_SAFE_CHAIN_ID_HEX</p>
</dd><dt>returns</dt>
<dd></dd></dl>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Functions</h2>
<section class="tsd-panel tsd-member tsd-kind-function">
<a name="isSafeChainId" class="tsd-anchor"></a>
<h3>is<wbr>Safe<wbr>Chain<wbr>Id</h3>
<ul class="tsd-signatures tsd-kind-function">
<li class="tsd-signature tsd-kind-icon">is<wbr>Safe<wbr>Chain<wbr>Id<span class="tsd-signature-symbol">(</span>chainId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in index.ts:50</li>
</ul>
</aside>
<div class="tsd-comment tsd-typography tsd-comment-shorttext">
<div class="lead">
<p>isSafeChainId</p>
</div>
</div><div class="tsd-comment tsd-typography tsd-comment-tags">
<dl class="tsd-comment-tags"><dt>function</dt>
<dd><p>isSafeChainId</p>
</dd></dl>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>chainId: <span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function">
<a name="normalizeChainId" class="tsd-anchor"></a>
<h3>normalize<wbr>Chain<wbr>Id</h3>
<ul class="tsd-signatures tsd-kind-function">
<li class="tsd-signature tsd-kind-icon">normalize<wbr>Chain<wbr>Id<span class="tsd-signature-symbol">(</span>chainId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in index.ts:72</li>
</ul>
</aside>
<div class="tsd-comment tsd-typography tsd-comment-tags">
<dl class="tsd-comment-tags"><dt>function</dt>
<dd><p>normalizeChainId</p>
</dd><dt>throws</dt>
<dd><p>{!safeChainId} not an integer</p>
</dd></dl>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>chainId: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">number</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4>
<pre><code class="language-typescript"><span style="color: #AF00DB">export</span><span style="color: #000000"> </span><span style="color: #0000FF">function</span><span style="color: #000000"> </span><span style="color: #795E26">normalizeChainId</span><span style="color: #000000">(</span><span style="color: #001080">chainId</span><span style="color: #000000">: </span><span style="color: #267F99">string</span><span style="color: #000000"> | </span><span style="color: #267F99">number</span><span style="color: #000000">): </span><span style="color: #267F99">number</span><span style="color: #000000"> {</span>
<span style="color: #AF00DB">if</span><span style="color: #000000"> (</span><span style="color: #0000FF">typeof</span><span style="color: #000000"> </span><span style="color: #001080">chainId</span><span style="color: #000000"> === </span><span style="color: #A31515">'string'</span><span style="color: #000000">) {</span>
<span style="color: #0000FF">const</span><span style="color: #000000"> </span><span style="color: #0070C1">parsedChainId</span><span style="color: #000000"> = </span><span style="color: #267F99">Number</span><span style="color: #000000">.</span><span style="color: #795E26">parseInt</span><span style="color: #000000">(</span>
<span style="color: #001080">chainId</span><span style="color: #000000">,</span>
<span style="color: #001080">chainId</span><span style="color: #000000">.</span><span style="color: #795E26">trim</span><span style="color: #000000">().</span><span style="color: #795E26">substring</span><span style="color: #000000">(</span><span style="color: #098658">0</span><span style="color: #000000">, </span><span style="color: #098658">2</span><span style="color: #000000">) === </span><span style="color: #A31515">'0x'</span><span style="color: #000000"> ? </span><span style="color: #098658">16</span><span style="color: #000000"> : </span><span style="color: #098658">10</span><span style="color: #000000">, );</span>
<span style="color: #AF00DB">if</span><span style="color: #000000"> (</span><span style="color: #267F99">Number</span><span style="color: #000000">.</span><span style="color: #795E26">isNaN</span><span style="color: #000000">(</span><span style="color: #001080">parsedChainId</span><span style="color: #000000">))</span>
<span style="color: #AF00DB">throw</span><span style="color: #000000"> </span><span style="color: #0000FF">new</span><span style="color: #000000"> </span><span style="color: #267F99">Error</span><span style="color: #000000">(</span><span style="color: #A31515">`!safeChainId </span><span style="color: #0000FF">${</span><span style="color: #001080">chainId</span><span style="color: #0000FF">}</span><span style="color: #A31515"> is not an integer`</span><span style="color: #000000">);</span>
<span style="color: #AF00DB">return</span><span style="color: #000000"> </span><span style="color: #001080">parsedChainId</span><span style="color: #000000">;</span>
</code></pre>
</li>
</ul>
</section>
</section>
<!--{"options":"/Users/sbacha/safe_chainid","tsconfig":"/Users/sbacha/safe_chainid","packages":[],"entryPoints":["/Users/sbacha/safe_chainid/source/index.ts"],"exclude":[],"externalPattern":["**/node_modules/**"],"excludeExternals":false,"excludeNotDocumented":false,"excludeInternal":false,"excludePrivate":false,"excludeProtected":false,"disableSources":false,"includes":"","media":"","watch":false,"preserveWatchOutput":false,"emit":false,"out":"","json":"","pretty":true,"theme":"./node_modules/typedoc-neo-theme/bin/default","highlightTheme":"light-plus","name":"","includeVersion":false,"excludeTags":[],"readme":"","defaultCategory":"Other","categoryOrder":[],"categorizeByGroup":true,"sort":["kind","instance-first","alphabetical"],"gitRevision":"","gitRemote":"origin","gaID":"","gaSite":"auto","hideGenerator":false,"toc":[],"disableOutputCheck":false,"help":false,"version":false,"showConfig":false,"plugin":[],"logger":"console","logLevel":1,"treatWarningsAsErrors":false,"listInvalidSymbolLinks":false}-->
</div>
<div class="col-2 col-menu secondary-menu">
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-enum root">
<a href="enums/SafeChainId.html" class="tsd-kind-icon">Safe<wbr>Chain<wbr>Id</a>
</li>
<li class=" tsd-kind-variable root">
<a href="modules.html#MAX_SAFE_CHAIN_ID" class="tsd-kind-icon">MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID</a>
</li>
<li class=" tsd-kind-variable root">
<a href="modules.html#MAX_SAFE_CHAIN_ID_HEX" class="tsd-kind-icon">MAX_<wbr>SAFE_<wbr>CHAIN_<wbr>ID_<wbr>HEX</a>
</li>
<li class=" tsd-kind-function root">
<a href="modules.html#isSafeChainId" class="tsd-kind-icon">is<wbr>Safe<wbr>Chain<wbr>Id</a>
</li>
<li class=" tsd-kind-function root">
<a href="modules.html#normalizeChainId" class="tsd-kind-icon">normalize<wbr>Chain<wbr>Id</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="assets/js/main.js"></script>
</body>
</html>