Skip to content

Instantly share code, notes, and snippets.

@i-am-vivek
Created November 30, 2023 18:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save i-am-vivek/d9a5d2a2ccf3145473032c517c2a3723 to your computer and use it in GitHub Desktop.
Save i-am-vivek/d9a5d2a2ccf3145473032c517c2a3723 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.20+commit.a1b79de6.js&optimize=false&runs=200&gist=
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="description" content="@openzeppelin/contracts CDN by jsDelivr - A free, fast, and reliable Open Source CDN for npm and GitHub">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>@openzeppelin/contracts CDN by jsDelivr - A free, fast, and reliable Open Source CDN</title>
<style>
body {
font: 15px/1.4em Arial, "Helvetica Neue", Helvetica, sans-serif;
margin: 0;
padding: 20px 20px 30px;
background-color: #ffffff;
}
.container {
max-width: 960px;
margin: 0 auto;
padding: 10px 0;
background-color: #fff;
}
.header {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
flex-wrap: wrap;
}
h1 {
font-size: 28px;
line-height: 38px;
margin: 0 0 15px;
}
h2 {
font-size: 18px;
font-weight: 400;
margin: 0;
}
.versions {
max-width: 400px;
padding: 2px 12px 2px 6px;
}
.description {
margin: 10px 0;
font-size: 16px;
color: #666;
}
.path {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
flex-wrap: wrap;
margin: 15px 0 0;
padding: 15px 0 30px;
border-top: 1px solid #e5e5e5;
}
.path .versions,
.path ol {
margin: 15px 0 0;
}
.path ol {
padding: 0;
list-style: none;
font-size: 18px;
font-weight: 400;
}
.path ol li {
display: inline;
}
.listing {
border: 1px solid #dfe3e7;
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px -5px #dfe3e7;
box-shadow: 0 5px 10px -5px #dfe3e7;
}
table {
width: 100%;
border-spacing: 0;
}
th, td {
padding: 8px 20px;
border-bottom: 1px solid #dfe3e7;
}
tr:last-child td {
border-bottom: 0;
}
.name.level-up {
border-bottom: 1px solid #dfe3e7;
}
.name.level-up a {
padding-left: 0;
}
.name {
width: auto;
text-align: left;
padding-right: 20px;
}
.name a {
color: #17233b;
padding-left: 5px;
position: relative;
}
.name svg {
display: inline-block;
margin-bottom: -4px;
}
.size {
max-width: 80px;
text-align: right;
color: #444;
}
th.name, th.size {
color: #999;
text-transform: uppercase;
font-size: 12px;
letter-spacing: 1px;
}
a {
color: #ff5627;
text-decoration: none;
}
a:hover, a:focus {
color: #ff5627;
text-decoration: underline;
}
.landing {
margin-top: 30px;
text-align: center;
}
.landing p {
margin: 0 0 15px;
}
.landing a {
display: block;
text-overflow: ellipsis;
overflow: hidden;
}
footer {
max-width: 960px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin: 0 auto;
padding: 20px 0 0 0;
text-align: center;
font-size: 14px;
color: #666;
border-top: 1px solid #edf0f2;
}
.footer-left, .footer-right {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
margin-bottom: 20px;
}
.logo {
width: 115px;
}
.copyright {
color: #79849a;
margin: 0;
}
@media (min-width: 576px) {
.footer-left, .footer-right {
-ms-flex-pack: distribute;
justify-content: space-around;
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
}
}
@media (min-width: 768px) {
body {
padding-top: 40px;
}
footer {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
-ms-flex-direction: row;
flex-direction: row;
padding-top: 30px;
}
.container {
padding-bottom: 20px;
}
.footer-right a:first-child, .logo {
margin-right: 20px;
}
.landing {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: start;
-ms-flex-align: start;
align-items: flex-start;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin-top: 40px;
}
.landing .right {
text-align: right;
}
}
.select-css {
display: block;
padding: 8px 20px 8px 12px;
box-sizing: border-box;
margin: 0;
border: 1px solid #aaa;
border-radius: .5em;
-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
background-color: #fff;
background-image: url('https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/icons/caret-down-fill.svg');
background-repeat: no-repeat, repeat;
background-position: right 8px top 50%, 0 0;
background-size: 10px auto, 100%;
outline: none;
}
.select-css::-ms-expand {
display: none;
}
.select-css:hover {
border-color: #888;
}
.select-css option {
font-weight: normal;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>@openzeppelin/contracts CDN files</h1>
<a class="badge" href="https://www.jsdelivr.com/package/npm/@openzeppelin/contracts" title="jsDelivr monthly hits">
<img alt="jsDelivr monthly hits badge" src="https://data.jsdelivr.com/v1/package/npm/@openzeppelin/contracts/badge">
</a>
</div>
<div class="path">
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<span itemprop="name">@openzeppelin/contracts@5.0.0</span>
<meta itemprop="position" content="0">
</li>
</ol>
<select class="versions select-css">
<option value="@openzeppelin/contracts@5.0.0">@openzeppelin/contracts@5.0.0</option>
<option value="@openzeppelin/contracts@5.0.0-rc.2">@openzeppelin/contracts@5.0.0-rc.2</option>
<option value="@openzeppelin/contracts@5.0.0-rc.1">@openzeppelin/contracts@5.0.0-rc.1</option>
<option value="@openzeppelin/contracts@5.0.0-rc.0">@openzeppelin/contracts@5.0.0-rc.0</option>
<option value="@openzeppelin/contracts@4.9.3">@openzeppelin/contracts@4.9.3</option>
<option value="@openzeppelin/contracts@4.9.2">@openzeppelin/contracts@4.9.2</option>
<option value="@openzeppelin/contracts@4.9.1">@openzeppelin/contracts@4.9.1</option>
<option value="@openzeppelin/contracts@4.9.0">@openzeppelin/contracts@4.9.0</option>
<option value="@openzeppelin/contracts@4.9.0-rc.1">@openzeppelin/contracts@4.9.0-rc.1</option>
<option value="@openzeppelin/contracts@4.9.0-rc.0">@openzeppelin/contracts@4.9.0-rc.0</option>
<option value="@openzeppelin/contracts@4.8.3">@openzeppelin/contracts@4.8.3</option>
<option value="@openzeppelin/contracts@4.8.2">@openzeppelin/contracts@4.8.2</option>
<option value="@openzeppelin/contracts@4.8.1">@openzeppelin/contracts@4.8.1</option>
<option value="@openzeppelin/contracts@4.8.0">@openzeppelin/contracts@4.8.0</option>
<option value="@openzeppelin/contracts@4.8.0-rc.2">@openzeppelin/contracts@4.8.0-rc.2</option>
<option value="@openzeppelin/contracts@4.8.0-rc.1">@openzeppelin/contracts@4.8.0-rc.1</option>
<option value="@openzeppelin/contracts@4.8.0-rc.0">@openzeppelin/contracts@4.8.0-rc.0</option>
<option value="@openzeppelin/contracts@4.7.3">@openzeppelin/contracts@4.7.3</option>
<option value="@openzeppelin/contracts@4.7.2">@openzeppelin/contracts@4.7.2</option>
<option value="@openzeppelin/contracts@4.7.1">@openzeppelin/contracts@4.7.1</option>
<option value="@openzeppelin/contracts@4.7.0">@openzeppelin/contracts@4.7.0</option>
<option value="@openzeppelin/contracts@4.7.0-rc.0">@openzeppelin/contracts@4.7.0-rc.0</option>
<option value="@openzeppelin/contracts@4.6.0">@openzeppelin/contracts@4.6.0</option>
<option value="@openzeppelin/contracts@4.6.0-rc.0">@openzeppelin/contracts@4.6.0-rc.0</option>
<option value="@openzeppelin/contracts@4.5.0">@openzeppelin/contracts@4.5.0</option>
<option value="@openzeppelin/contracts@4.5.0-rc.0">@openzeppelin/contracts@4.5.0-rc.0</option>
<option value="@openzeppelin/contracts@4.4.2">@openzeppelin/contracts@4.4.2</option>
<option value="@openzeppelin/contracts@4.4.1">@openzeppelin/contracts@4.4.1</option>
<option value="@openzeppelin/contracts@4.4.0">@openzeppelin/contracts@4.4.0</option>
<option value="@openzeppelin/contracts@4.4.0-rc.1">@openzeppelin/contracts@4.4.0-rc.1</option>
<option value="@openzeppelin/contracts@4.4.0-rc.0">@openzeppelin/contracts@4.4.0-rc.0</option>
<option value="@openzeppelin/contracts@4.3.3">@openzeppelin/contracts@4.3.3</option>
<option value="@openzeppelin/contracts@4.3.2">@openzeppelin/contracts@4.3.2</option>
<option value="@openzeppelin/contracts@4.3.1">@openzeppelin/contracts@4.3.1</option>
<option value="@openzeppelin/contracts@4.3.0">@openzeppelin/contracts@4.3.0</option>
<option value="@openzeppelin/contracts@4.3.0-rc.0">@openzeppelin/contracts@4.3.0-rc.0</option>
<option value="@openzeppelin/contracts@4.2.0">@openzeppelin/contracts@4.2.0</option>
<option value="@openzeppelin/contracts@4.2.0-rc.0">@openzeppelin/contracts@4.2.0-rc.0</option>
<option value="@openzeppelin/contracts@4.1.0">@openzeppelin/contracts@4.1.0</option>
<option value="@openzeppelin/contracts@4.1.0-rc.0">@openzeppelin/contracts@4.1.0-rc.0</option>
<option value="@openzeppelin/contracts@4.0.0">@openzeppelin/contracts@4.0.0</option>
<option value="@openzeppelin/contracts@4.0.0-rc.0">@openzeppelin/contracts@4.0.0-rc.0</option>
<option value="@openzeppelin/contracts@4.0.0-beta.1">@openzeppelin/contracts@4.0.0-beta.1</option>
<option value="@openzeppelin/contracts@4.0.0-beta.0">@openzeppelin/contracts@4.0.0-beta.0</option>
<option value="@openzeppelin/contracts@3.4.2">@openzeppelin/contracts@3.4.2</option>
<option value="@openzeppelin/contracts@3.4.2-solc-0.7">@openzeppelin/contracts@3.4.2-solc-0.7</option>
<option value="@openzeppelin/contracts@3.4.1">@openzeppelin/contracts@3.4.1</option>
<option value="@openzeppelin/contracts@3.4.1-solc-0.7-2">@openzeppelin/contracts@3.4.1-solc-0.7-2</option>
<option value="@openzeppelin/contracts@3.4.1-solc-0.7">@openzeppelin/contracts@3.4.1-solc-0.7</option>
<option value="@openzeppelin/contracts@3.4.0">@openzeppelin/contracts@3.4.0</option>
<option value="@openzeppelin/contracts@3.4.0-solc-0.7">@openzeppelin/contracts@3.4.0-solc-0.7</option>
<option value="@openzeppelin/contracts@3.4.0-rc.0">@openzeppelin/contracts@3.4.0-rc.0</option>
<option value="@openzeppelin/contracts@3.3.0">@openzeppelin/contracts@3.3.0</option>
<option value="@openzeppelin/contracts@3.3.0-solc-0.7">@openzeppelin/contracts@3.3.0-solc-0.7</option>
<option value="@openzeppelin/contracts@3.3.0-rc.2">@openzeppelin/contracts@3.3.0-rc.2</option>
<option value="@openzeppelin/contracts@3.3.0-rc.1">@openzeppelin/contracts@3.3.0-rc.1</option>
<option value="@openzeppelin/contracts@3.3.0-rc.0">@openzeppelin/contracts@3.3.0-rc.0</option>
<option value="@openzeppelin/contracts@3.2.2-solc-0.7">@openzeppelin/contracts@3.2.2-solc-0.7</option>
<option value="@openzeppelin/contracts@3.2.1-solc-0.7">@openzeppelin/contracts@3.2.1-solc-0.7</option>
<option value="@openzeppelin/contracts@3.2.0">@openzeppelin/contracts@3.2.0</option>
<option value="@openzeppelin/contracts@3.2.0-solc-0.7">@openzeppelin/contracts@3.2.0-solc-0.7</option>
<option value="@openzeppelin/contracts@3.2.0-rc.0">@openzeppelin/contracts@3.2.0-rc.0</option>
<option value="@openzeppelin/contracts@3.1.0">@openzeppelin/contracts@3.1.0</option>
<option value="@openzeppelin/contracts@3.1.0-solc-0.7">@openzeppelin/contracts@3.1.0-solc-0.7</option>
<option value="@openzeppelin/contracts@3.1.0-rc.0">@openzeppelin/contracts@3.1.0-rc.0</option>
<option value="@openzeppelin/contracts@3.0.2">@openzeppelin/contracts@3.0.2</option>
<option value="@openzeppelin/contracts@3.0.1">@openzeppelin/contracts@3.0.1</option>
<option value="@openzeppelin/contracts@3.0.0">@openzeppelin/contracts@3.0.0</option>
<option value="@openzeppelin/contracts@3.0.0-rc.1">@openzeppelin/contracts@3.0.0-rc.1</option>
<option value="@openzeppelin/contracts@3.0.0-rc.0">@openzeppelin/contracts@3.0.0-rc.0</option>
<option value="@openzeppelin/contracts@3.0.0-beta.0">@openzeppelin/contracts@3.0.0-beta.0</option>
<option value="@openzeppelin/contracts@2.5.1">@openzeppelin/contracts@2.5.1</option>
<option value="@openzeppelin/contracts@2.5.0">@openzeppelin/contracts@2.5.0</option>
<option value="@openzeppelin/contracts@2.5.0-rc.0">@openzeppelin/contracts@2.5.0-rc.0</option>
<option value="@openzeppelin/contracts@2.4.0">@openzeppelin/contracts@2.4.0</option>
<option value="@openzeppelin/contracts@2.4.0-beta.2">@openzeppelin/contracts@2.4.0-beta.2</option>
<option value="@openzeppelin/contracts@2.4.0-beta.1">@openzeppelin/contracts@2.4.0-beta.1</option>
<option value="@openzeppelin/contracts@2.4.0-beta.0">@openzeppelin/contracts@2.4.0-beta.0</option>
<option value="@openzeppelin/contracts@2.3.0">@openzeppelin/contracts@2.3.0</option>
</select>
</div>
<div class="listing">
<table>
<tbody>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/access/">access</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/build/">build</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/finance/">finance</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/governance/">governance</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/interfaces/">interfaces</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/metatx/">metatx</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/proxy/">proxy</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/token/">token</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/utils/">utils</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M2 5C2 3.89543 2.89543 3 4 3H8.46482C8.79917 3 9.1114 3.1671 9.29687 3.4453L10.7031 5.5547C10.8886 5.8329 11.2008 6 11.5352 6H16C17.1046 6 18 6.89543 18 8V15C18 16.1046 17.1046 17 16 17H4C2.89543 17 2 16.1046 2 15V5Z" fill="#5C667A"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/vendor/">vendor</a>
</td>
<td class="size"></td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 4C4 2.89543 4.89543 2 6 2H11L16 7V16C16 17.1046 15.1046 18 14 18H6C4.89543 18 4 17.1046 4 16V4Z" stroke="#5C667A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/package.json">package.json</a>
</td>
<td class="size">786 B</td>
</tr>
<tr>
<td class="name">
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4 4C4 2.89543 4.89543 2 6 2H11L16 7V16C16 17.1046 15.1046 18 14 18H6C4.89543 18 4 17.1046 4 16V4Z" stroke="#5C667A" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
<a rel="nofollow" href="/npm/@openzeppelin/contracts@5.0.0/README.md">README.md</a>
</td>
<td class="size">7.63 KB</td>
</tr>
</tbody>
</table>
</div>
<div class="landing">
<p class="left">Free Open Source CDN for <strong>@openzeppelin/contracts</strong></p>
<p class="right">
Looking for a nice landing page for your package?
<a href="https://www.jsdelivr.com/package/npm/@openzeppelin/contracts">https://www.jsdelivr.com/package/npm/@openzeppelin/contracts</a>
</p>
</div>
</div>
<footer>
<div class="footer-left">
<svg class="logo" viewBox="0 0 140 34" xmlns="http://www.w3.org/2000/svg">
<g fill="#1e3b45">
<path
d="m43.616 19.576c0 4.005-1.389 6.008-4.168 6.008-.432 0-.853-.059-1.261-.174v-1.112c.455.154.883.232 1.285.232 1.065 0 1.833-.404 2.304-1.209.471-.807.706-2.063.706-3.769v-10.859h1.134z"/>
<path
d="m47.065 24.705v-1.309c1.188.756 2.393 1.135 3.612 1.135 1.296 0 2.28-.268 2.952-.805.671-.537 1.007-1.288 1.007-2.251 0-.85-.226-1.528-.678-2.032-.451-.506-1.429-1.194-2.935-2.067-1.682-.979-2.747-1.799-3.195-2.46-.447-.66-.671-1.422-.671-2.286 0-1.172.455-2.169 1.366-2.988.911-.817 2.126-1.227 3.647-1.227.988 0 1.975.166 2.963.498v1.204c-.972-.44-2.011-.66-3.113-.66-1.127 0-2.02.287-2.681.858-.659.571-.99 1.297-.99 2.177 0 .848.226 1.524.677 2.026.452.5 1.426 1.184 2.923 2.048 1.551.881 2.584 1.663 3.097 2.345.514.684.77 1.469.77 2.356 0 1.274-.442 2.311-1.325 3.114-.884.803-2.133 1.204-3.746 1.204-.572 0-1.229-.09-1.973-.266-.745-.178-1.313-.383-1.707-.614z"/>
<path
d="m59.104 25.295v-16.602h5.881c5.895 0 8.844 2.698 8.844 8.093 0 2.585-.805 4.65-2.413 6.194-1.61 1.543-3.753 2.315-6.431 2.315zm3.74-13.556v10.522h1.852c1.621 0 2.892-.485 3.814-1.458s1.383-2.296 1.383-3.97c0-1.583-.457-2.827-1.372-3.734-.914-.907-2.199-1.36-3.85-1.36z"/>
<path
d="m86.841 25.295h-9.957v-16.602h9.574v3.046h-5.834v3.693h5.43v3.032h-5.43v3.796h6.217z"/>
<path d="m99.893 25.295h-9.887v-16.602h3.74v13.568h6.147z"/>
<path d="m105.989 8.693v16.602h-3.74v-16.602z"/>
<path
d="m123.834 8.693-5.719 16.602h-4.236l-5.651-16.602h4.029l3.462 11.553c.186.625.297 1.178.336 1.657h.068c.055-.518.174-1.084.36-1.702l3.439-11.508z"/>
<path
d="m140 25.295h-4.295l-2.581-4.273c-.193-.322-.379-.613-.555-.868-.178-.254-.358-.473-.539-.654-.182-.18-.369-.321-.567-.416-.197-.096-.41-.145-.643-.145h-1.006v6.356h-3.74v-16.602h5.926c4.029 0 6.043 1.506 6.043 4.515 0 .578-.088 1.114-.266 1.604s-.428.932-.752 1.325c-.324.395-.717.733-1.176 1.02-.459.285-.969.508-1.534.67v.047c.248.076.486.203.719.375.231.174.455.377.67.61.217.231.424.479.619.746.197.266.377.526.539.782zm-10.185-13.8v4.619h1.62c.803 0 1.448-.231 1.932-.694.494-.471.742-1.053.742-1.749 0-1.45-.87-2.177-2.605-2.177h-1.689z"/>
</g>
<path d="m15.386.338-3.106 11.038v.104 11.039l3.106 11.143 3.194-11.143v-11.039-.104z"
fill="#bd483b"/>
<path d="m15.386.338-15.386 5.542 2.186 20.492 13.2 7.29" fill="#e64e3d"/>
<path d="m15.386 33.662 13.268-7.365 2.483-20.49-15.751-5.469" fill="#bd483b"/>
<path
d="m12.594 25.088c-1.514-.473-2.864-1.317-3.94-2.431l-.003-.002c-.131-.137-.257-.274-.381-.418-.838-.979-1.478-2.13-1.857-3.396.251.233.518.447.796.647.003.008.008.016.011.027-.003-.012-.008-.02-.011-.027.398.279.822.526 1.269.737.141.064.282.125.427.186.177.07.36.135.542.195.011.006.024.006.035.01.032.012.065.023.097.033.074.756.649 1.372 1.39 1.504.287 1.157.833 2.146 1.625 2.935z"
fill="#fec82f"/>
<path
d="m13.174 11.794c0 .324.088.627.243.883-1.25 1.753-2.108 3.656-2.479 5.539-.041.209-.077.416-.105.619-.429.113-.79.393-1.016.762-.013 0-.024-.004-.035-.01-.023-.006-.04-.014-.061-.021-.142-.045-.281-.098-.417-.152-.204-.08-.403-.174-.598-.272-.663-.338-1.26-.772-1.781-1.291-.11-.111-.213-.219-.311-.332l-.041-.049c-.038-.045-.078-.092-.115-.137-.017-.021-.032-.039-.047-.059-.014-.018-.024-.031-.037-.045-.005-.01-.013-.016-.017-.023-.02-.022-.037-.047-.053-.068-.008-.012-.017-.022-.023-.029-.001-.004-.002-.004-.004-.008-.013-.014-.024-.033-.037-.049-.055-.072-.107-.149-.157-.225-.009-.012-.019-.024-.025-.039-.006-.006-.015-.018-.02-.027-.014-.203-.02-.408-.02-.617 0-1.882.557-3.636 1.512-5.105.113-.176.235-.348.361-.514.12-.16.245-.319.374-.467 1.126-1.317 2.61-2.315 4.299-2.847.026.182.059.367.095.553.192.967.513 1.942.949 2.898-.271.3-.434.698-.434 1.132z"
fill="#fec82f"/>
<path
d="m12.176 20.479c0 .221-.079.424-.212.58-.029.037-.061.068-.096.1-.161.141-.368.225-.596.225-.173 0-.335-.049-.472-.135-.147-.09-.265-.219-.342-.375-.058-.121-.089-.252-.089-.395 0-.26.11-.494.286-.658.029-.027.06-.051.091-.074.148-.107.331-.17.526-.17.206 0 .395.068.546.186.085.063.155.139.213.229.094.137.145.307.145.487z"
fill="#fec82f"/>
<path
d="m15.777 11.794c0 .147-.032.281-.094.403-.148.299-.456.502-.808.502-.044 0-.087-.002-.128-.006-.008-.004-.016-.004-.025-.006-.383-.066-.684-.369-.741-.756-.007-.043-.01-.09-.01-.137 0-.102.017-.201.05-.295.123-.354.46-.606.854-.606h.002.036c.392.018.72.285.827.645.025.082.037.168.037.256z"
fill="#fec82f"/>
<path
d="m24.752 16.143c0 .907-.129 1.782-.368 2.61-.799-.211-1.606-.52-2.4-.914.022-.109.033-.221.033-.336 0-.225-.044-.442-.125-.639.031-.029.064-.061.095-.094.957-.977 1.763-2.055 2.404-3.212.234.821.361 1.69.361 2.585z"
fill="#df9c26"/>
<path
d="m23.881 12.196c-.063.139-.131.277-.201.416-.627 1.235-1.455 2.382-2.459 3.407-.009.01-.02.02-.028.027-.255-.156-.557-.244-.879-.244-.375 0-.722.123-1.004.328-.514-.404-1.011-.848-1.49-1.327-.608-.604-1.157-1.247-1.647-1.909.252-.297.405-.68.405-1.102 0-.313-.087-.61-.237-.862 1.21-1.163 2.547-2.106 3.917-2.788 1.572.961 2.841 2.372 3.623 4.054z"
fill="#df9c26"/>
<path
d="m21.217 17.503c0 .379-.23.701-.556.836-.108.045-.225.07-.348.07-.063 0-.125-.008-.185-.02-.385-.082-.681-.408-.715-.805.011-.01.021-.016.028-.022-.01-.008-.021-.014-.03-.023-.001-.012-.001-.022-.001-.037 0-.389.25-.723.601-.85.095-.033.196-.053.302-.053.09 0 .179.014.262.039.346.105.606.412.64.785.002.027.002.055.002.08z"
fill="#df9c26"/>
<path
d="m21.452 18.767c-.301.274-.7.44-1.139.44-.351 0-.677-.107-.949-.289-.039.025-.078.051-.115.072-1.233.781-2.538 1.352-3.864 1.698v4.824c3.887 0 7.222-2.37 8.64-5.744-.859-.237-1.723-.573-2.573-1.001z"
fill="#df9c26"/>
<path
d="m15.386 20.688c-.793.205-1.591.33-2.385.367-.042.002-.086.006-.128.008-.151.41-.454.744-.839.94.245.909.688 1.698 1.319 2.327.524.524 1.162.92 1.891 1.18.046 0 .093.002.142.002z"
fill="#fec82f"/>
<path
d="m18.612 17.503c0-.172.026-.34.074-.498-.562-.44-1.106-.92-1.625-1.442-.614-.614-1.172-1.262-1.675-1.934v5.946c1.124-.324 2.235-.823 3.291-1.489.009-.006.02-.014.03-.022-.061-.174-.095-.364-.095-.561z"
fill="#df9c26"/>
<path
d="m15.386 13.629c-.045-.059-.091-.113-.132-.174-.123.029-.249.043-.378.043-.227 0-.441-.045-.637-.123-1.134 1.606-1.912 3.341-2.25 5.049-.032.162-.059.32-.083.475.477.195.848.596.996 1.092.016-.004.029-.004.046-.004.809-.039 1.627-.18 2.438-.412z"
fill="#fec82f"/>
<path
d="m15.386 6.778v3.394c.048.016.098.033.145.055 1.106-1.073 2.316-1.979 3.573-2.681-1.14-.496-2.399-.768-3.718-.768z"
fill="#df9c26"/>
<path
d="m15.386 6.778c-.608 0-1.201.055-1.773.168.025.197.06.404.101.606.168.86.449 1.725.829 2.575.106-.02.219-.033.333-.033.178 0 .347.027.51.078z"
fill="#fec82f"/>
</svg>
<p class="copyright">&copy; jsdelivr.com, 2012 - 2023</p>
</div>
<div class="footer-right">
<a href="https://github.com/jsdelivr/jsdelivr">
<span class="gh-icon">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="12" height="12" viewBox="0 0 16 16" xml:space="preserve">
<path id="XMLID_1_" fill="#ff5627" d="M8,0.2c-4.4,0-8,3.6-8,8c0,3.5,2.3,6.5,5.5,7.6C5.9,15.9,6,15.6,6,15.4c0-0.2,0-0.7,0-1.4
C3.8,14.5,3.3,13,3.3,13c-0.4-0.9-0.9-1.2-0.9-1.2c-0.7-0.5,0.1-0.5,0.1-0.5c0.8,0.1,1.2,0.8,1.2,0.8C4.4,13.4,5.6,13,6,12.8
c0.1-0.5,0.3-0.9,0.5-1.1c-1.8-0.2-3.6-0.9-3.6-4c0-0.9,0.3-1.6,0.8-2.1c-0.1-0.2-0.4-1,0.1-2.1c0,0,0.7-0.2,2.2,0.8
c0.6-0.2,1.3-0.3,2-0.3c0.7,0,1.4,0.1,2,0.3c1.5-1,2.2-0.8,2.2-0.8c0.4,1.1,0.2,1.9,0.1,2.1c0.5,0.6,0.8,1.3,0.8,2.1
c0,3.1-1.9,3.7-3.7,3.9C9.7,12,10,12.5,10,13.2c0,1.1,0,1.9,0,2.2c0,0.2,0.1,0.5,0.6,0.4c3.2-1.1,5.5-4.1,5.5-7.6
C16,3.8,12.4,0.2,8,0.2z"/>
</svg>
</span>
Documentation
</a>
<a href="https://www.jsdelivr.com/features">Learn more about jsDelivr</a>
</div>
</footer>
<script>
var versions = document.querySelector('.versions');
[].slice.call(versions.querySelectorAll('option')).forEach(function(option) {
if (option.value === '@openzeppelin/contracts@5.0.0') {
option.selected = true;
}
});
versions.addEventListener('change', function() {
location.pathname = '/npm/' + this.value + '/';
});
</script>
</body>
</html>
{
"overrides": [
{
"files": "*.sol",
"options": {
"printWidth": 80,
"tabWidth": 4,
"useTabs": false,
"singleQuote": false,
"bracketSpacing": false
}
},
{
"files": "*.yml",
"options": {}
},
{
"files": "*.yaml",
"options": {}
},
{
"files": "*.toml",
"options": {}
},
{
"files": "*.json",
"options": {}
},
{
"files": "*.js",
"options": {}
},
{
"files": "*.ts",
"options": {}
}
]
}
REMIX DEFAULT WORKSPACE
Remix default workspace is present when:
i. Remix loads for the very first time
ii. A new workspace is created with 'Default' template
iii. There are no files existing in the File Explorer
This workspace contains 3 directories:
1. 'contracts': Holds three contracts with increasing levels of complexity.
2. 'scripts': Contains four typescript files to deploy a contract. It is explained below.
3. 'tests': Contains one Solidity test file for 'Ballot' contract & one JS test file for 'Storage' contract.
SCRIPTS
The 'scripts' folder has four typescript files which help to deploy the 'Storage' contract using 'web3.js' and 'ethers.js' libraries.
For the deployment of any other contract, just update the contract's name from 'Storage' to the desired contract and provide constructor arguments accordingly
in the file `deploy_with_ethers.ts` or `deploy_with_web3.ts`
In the 'tests' folder there is a script containing Mocha-Chai unit tests for 'Storage' contract.
To run a script, right click on file name in the file explorer and click 'Run'. Remember, Solidity file must already be compiled.
Output from script will appear in remix terminal.
Please note, require/import is supported in a limited manner for Remix supported modules.
For now, modules supported by Remix are ethers, web3, swarmgw, chai, multihashes, remix and hardhat only for hardhat.ethers object/plugin.
For unsupported modules, an error like this will be thrown: '<module_name> module require is not supported by Remix IDE' will be shown.
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {}
},
"abi": []
}
{
"compiler": {
"version": "0.8.20+commit.a1b79de6"
},
"language": "Solidity",
"output": {
"abi": [],
"devdoc": {
"details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.",
"kind": "dev",
"methods": {},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Staking.sol": "Context"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"keccak256": "0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70",
"license": "MIT",
"urls": [
"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c",
"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"
]
},
"contracts/Staking.sol": {
"keccak256": "0xd1a4acb77aa26d28e295856e34e5940edc275ec2eec1d0e31a304642ed3889cd",
"license": "MIT",
"urls": [
"bzz-raw://3503a6a73bc3fd9558af78a62d7964d9fe29a4fe34b7ab3be168f967f0f59cca",
"dweb:/ipfs/QmcBBSeZzEfAcmUx4AAkyFJh8TYEHYJ7jJaQwvxVgedrna"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"methodIdentifiers": {
"owner()": "8da5cb5b",
"renounceOwnership()": "715018a6",
"transferOwnership(address)": "f2fde38b"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.20+commit.a1b79de6"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.",
"errors": {
"OwnableInvalidOwner(address)": [
{
"details": "The owner is not a valid owner account. (eg. `address(0)`)"
}
],
"OwnableUnauthorizedAccount(address)": [
{
"details": "The caller account is not authorized to perform an operation."
}
]
},
"kind": "dev",
"methods": {
"constructor": {
"details": "Initializes the contract setting the address provided by the deployer as the initial owner."
},
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Staking.sol": "Ownable"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"keccak256": "0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70",
"license": "MIT",
"urls": [
"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c",
"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"
]
},
"contracts/Staking.sol": {
"keccak256": "0xd1a4acb77aa26d28e295856e34e5940edc275ec2eec1d0e31a304642ed3889cd",
"license": "MIT",
"urls": [
"bzz-raw://3503a6a73bc3fd9558af78a62d7964d9fe29a4fe34b7ab3be168f967f0f59cca",
"dweb:/ipfs/QmcBBSeZzEfAcmUx4AAkyFJh8TYEHYJ7jJaQwvxVgedrna"
]
}
},
"version": 1
}
{
"deploy": {
"VM:-": {
"linkReferences": {},
"autoDeployLib": true
},
"main:1": {
"linkReferences": {},
"autoDeployLib": true
},
"ropsten:3": {
"linkReferences": {},
"autoDeployLib": true
},
"rinkeby:4": {
"linkReferences": {},
"autoDeployLib": true
},
"kovan:42": {
"linkReferences": {},
"autoDeployLib": true
},
"goerli:5": {
"linkReferences": {},
"autoDeployLib": true
},
"Custom": {
"linkReferences": {},
"autoDeployLib": true
}
},
"data": {
"bytecode": {
"functionDebugData": {
"@_131": {
"entryPoint": null,
"id": 131,
"parameterSlots": 0,
"returnSlots": 0
},
"@_268": {
"entryPoint": null,
"id": 268,
"parameterSlots": 1,
"returnSlots": 0
},
"@_transferOwnership_227": {
"entryPoint": 141,
"id": 227,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 408,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_fromMemory": {
"entryPoint": 428,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 369,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 338,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 334,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 386,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1199:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:2"
},
"nodeType": "YulFunctionCall",
"src": "400:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:2"
},
"nodeType": "YulFunctionCall",
"src": "532:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:2",
"type": ""
}
],
"src": "466:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:2"
},
"nodeType": "YulFunctionCall",
"src": "670:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:2"
},
"nodeType": "YulFunctionCall",
"src": "641:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:2"
},
"nodeType": "YulFunctionCall",
"src": "631:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:2"
},
"nodeType": "YulFunctionCall",
"src": "624:43:2"
},
"nodeType": "YulIf",
"src": "621:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:2",
"type": ""
}
],
"src": "568:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "759:80:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "769:22:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "784:6:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "778:5:2"
},
"nodeType": "YulFunctionCall",
"src": "778:13:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "769:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "827:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "800:26:2"
},
"nodeType": "YulFunctionCall",
"src": "800:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "800:33:2"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "737:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "745:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "753:5:2",
"type": ""
}
],
"src": "696:143:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "922:274:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "968:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "970:77:2"
},
"nodeType": "YulFunctionCall",
"src": "970:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "970:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "952:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "939:3:2"
},
"nodeType": "YulFunctionCall",
"src": "939:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "964:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "935:3:2"
},
"nodeType": "YulFunctionCall",
"src": "935:32:2"
},
"nodeType": "YulIf",
"src": "932:119:2"
},
{
"nodeType": "YulBlock",
"src": "1061:128:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1076:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1080:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1105:74:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1151:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1162:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1147:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1147:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1171:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "1115:31:2"
},
"nodeType": "YulFunctionCall",
"src": "1115:64:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1105:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "892:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "903:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "915:6:2",
"type": ""
}
],
"src": "845:351:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b50604051610dea380380610dea833981810160405281019061003191906101ac565b6100403361008d60201b60201c565b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600281905550506101d7565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61017b82610152565b9050919050565b61018b81610171565b8114610195575f80fd5b50565b5f815190506101a681610182565b92915050565b5f602082840312156101c1576101c061014e565b5b5f6101ce84828501610198565b91505092915050565b610c06806101e45f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063a694fc3a11610059578063a694fc3a14610100578063c8f33c911461011c578063f2fde38b1461013a578063f3fef3a31461015657610086565b8063602172671461008a578063715018a6146100ba57806372f702f3146100c45780638da5cb5b146100e2575b5f80fd5b6100a4600480360381019061009f91906107ae565b610172565b6040516100b191906107f1565b60405180910390f35b6100c2610187565b005b6100cc61019a565b6040516100d99190610865565b60405180910390f35b6100ea6101bf565b6040516100f7919061088d565b60405180910390f35b61011a600480360381019061011591906108d0565b6101e6565b005b61012461036b565b60405161013191906107f1565b60405180910390f35b610154600480360381019061014f91906107ae565b610371565b005b610170600480360381019061016b91906108fb565b6103f5565b005b6003602052805f5260405f205f915090505481565b61018f610601565b6101985f610688565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8111610228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021f90610993565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610286939291906109b1565b6020604051808303815f875af11580156102a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c69190610a1b565b508060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103139190610a73565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d8260405161036091906107f1565b60405180910390a250565b60025481565b610379610601565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103e9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016103e0919061088d565b60405180910390fd5b6103f281610688565b50565b6103fd610601565b5f811161043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043690610af0565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b690610b58565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461050b9190610b76565b9250508190555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161056e929190610ba9565b6020604051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190610a1b565b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516105f591906107f1565b60405180910390a25050565b610609610749565b73ffffffffffffffffffffffffffffffffffffffff166106276101bf565b73ffffffffffffffffffffffffffffffffffffffff16146106865761064a610749565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161067d919061088d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61077d82610754565b9050919050565b61078d81610773565b8114610797575f80fd5b50565b5f813590506107a881610784565b92915050565b5f602082840312156107c3576107c2610750565b5b5f6107d08482850161079a565b91505092915050565b5f819050919050565b6107eb816107d9565b82525050565b5f6020820190506108045f8301846107e2565b92915050565b5f819050919050565b5f61082d61082861082384610754565b61080a565b610754565b9050919050565b5f61083e82610813565b9050919050565b5f61084f82610834565b9050919050565b61085f81610845565b82525050565b5f6020820190506108785f830184610856565b92915050565b61088781610773565b82525050565b5f6020820190506108a05f83018461087e565b92915050565b6108af816107d9565b81146108b9575f80fd5b50565b5f813590506108ca816108a6565b92915050565b5f602082840312156108e5576108e4610750565b5b5f6108f2848285016108bc565b91505092915050565b5f806040838503121561091157610910610750565b5b5f61091e8582860161079a565b925050602061092f858286016108bc565b9150509250929050565b5f82825260208201905092915050565b7f43616e6e6f74207374616b6520300000000000000000000000000000000000005f82015250565b5f61097d600e83610939565b915061098882610949565b602082019050919050565b5f6020820190508181035f8301526109aa81610971565b9050919050565b5f6060820190506109c45f83018661087e565b6109d1602083018561087e565b6109de60408301846107e2565b949350505050565b5f8115159050919050565b6109fa816109e6565b8114610a04575f80fd5b50565b5f81519050610a15816109f1565b92915050565b5f60208284031215610a3057610a2f610750565b5b5f610a3d84828501610a07565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610a7d826107d9565b9150610a88836107d9565b9250828201905080821115610aa057610a9f610a46565b5b92915050565b7f43616e6e6f7420776974686472617720300000000000000000000000000000005f82015250565b5f610ada601183610939565b9150610ae582610aa6565b602082019050919050565b5f6020820190508181035f830152610b0781610ace565b9050919050565b7f496e73756666696369656e742042616c616e63650000000000000000000000005f82015250565b5f610b42601483610939565b9150610b4d82610b0e565b602082019050919050565b5f6020820190508181035f830152610b6f81610b36565b9050919050565b5f610b80826107d9565b9150610b8b836107d9565b9250828203905081811115610ba357610ba2610a46565b5b92915050565b5f604082019050610bbc5f83018561087e565b610bc960208301846107e2565b939250505056fea264697066735822122042a95abbf08960a6e61ddfd7c62b71e82174fa209b0bf57f470cc20850c2ba9c64736f6c63430008140033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xDEA CODESIZE SUB DUP1 PUSH2 0xDEA DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x31 SWAP2 SWAP1 PUSH2 0x1AC JUMP JUMPDEST PUSH2 0x40 CALLER PUSH2 0x8D PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP TIMESTAMP PUSH1 0x2 DUP2 SWAP1 SSTORE POP POP PUSH2 0x1D7 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x17B DUP3 PUSH2 0x152 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18B DUP2 PUSH2 0x171 JUMP JUMPDEST DUP2 EQ PUSH2 0x195 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x1A6 DUP2 PUSH2 0x182 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C1 JUMPI PUSH2 0x1C0 PUSH2 0x14E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1CE DUP5 DUP3 DUP6 ADD PUSH2 0x198 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC06 DUP1 PUSH2 0x1E4 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x86 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA694FC3A GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xA694FC3A EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0xC8F33C91 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xF3FEF3A3 EQ PUSH2 0x156 JUMPI PUSH2 0x86 JUMP JUMPDEST DUP1 PUSH4 0x60217267 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xBA JUMPI DUP1 PUSH4 0x72F702F3 EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x172 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB1 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC2 PUSH2 0x187 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCC PUSH2 0x19A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x865 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x1E6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x124 PUSH2 0x36B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x154 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16B SWAP2 SWAP1 PUSH2 0x8FB JUMP JUMPDEST PUSH2 0x3F5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0x18F PUSH2 0x601 JUMP JUMPDEST PUSH2 0x198 PUSH0 PUSH2 0x688 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x228 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21F SWAP1 PUSH2 0x993 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x286 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9B1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2A2 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP1 PUSH1 0x3 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x313 SWAP2 SWAP1 PUSH2 0xA73 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x9E71BC8EEA02A63969F509818F2DAFB9254532904319F9DBDA79B67BD34A5F3D DUP3 PUSH1 0x40 MLOAD PUSH2 0x360 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x379 PUSH2 0x601 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x3E9 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E0 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F2 DUP2 PUSH2 0x688 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x3FD PUSH2 0x601 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x43F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x436 SWAP1 PUSH2 0xAF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x4BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4B6 SWAP1 PUSH2 0xB58 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x50B SWAP2 SWAP1 PUSH2 0xB76 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56E SWAP3 SWAP2 SWAP1 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x5F5 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x609 PUSH2 0x749 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x627 PUSH2 0x1BF JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x686 JUMPI PUSH2 0x64A PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x67D SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x77D DUP3 PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x78D DUP2 PUSH2 0x773 JUMP JUMPDEST DUP2 EQ PUSH2 0x797 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7A8 DUP2 PUSH2 0x784 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x7D0 DUP5 DUP3 DUP6 ADD PUSH2 0x79A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7EB DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x804 PUSH0 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x82D PUSH2 0x828 PUSH2 0x823 DUP5 PUSH2 0x754 JUMP JUMPDEST PUSH2 0x80A JUMP JUMPDEST PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x83E DUP3 PUSH2 0x813 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x84F DUP3 PUSH2 0x834 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85F DUP2 PUSH2 0x845 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x878 PUSH0 DUP4 ADD DUP5 PUSH2 0x856 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x887 DUP2 PUSH2 0x773 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8A0 PUSH0 DUP4 ADD DUP5 PUSH2 0x87E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8AF DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP2 EQ PUSH2 0x8B9 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x8CA DUP2 PUSH2 0x8A6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8E5 JUMPI PUSH2 0x8E4 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x8F2 DUP5 DUP3 DUP6 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x911 JUMPI PUSH2 0x910 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x91E DUP6 DUP3 DUP7 ADD PUSH2 0x79A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x92F DUP6 DUP3 DUP7 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207374616B652030000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x97D PUSH1 0xE DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0x988 DUP3 PUSH2 0x949 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x9AA DUP2 PUSH2 0x971 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x9C4 PUSH0 DUP4 ADD DUP7 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9D1 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9DE PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FA DUP2 PUSH2 0x9E6 JUMP JUMPDEST DUP2 EQ PUSH2 0xA04 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xA15 DUP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA2F PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA3D DUP5 DUP3 DUP6 ADD PUSH2 0xA07 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xA7D DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xA88 DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xAA0 JUMPI PUSH2 0xA9F PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F742077697468647261772030000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xADA PUSH1 0x11 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xAE5 DUP3 PUSH2 0xAA6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB07 DUP2 PUSH2 0xACE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742042616C616E6365000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xB42 PUSH1 0x14 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xB4D DUP3 PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB6F DUP2 PUSH2 0xB36 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xB80 DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xB8B DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xBA3 JUMPI PUSH2 0xBA2 PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xBBC PUSH0 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0xBC9 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 TIMESTAMP 0xA9 GAS 0xBB CREATE DUP10 PUSH1 0xA6 0xE6 SAR 0xDF 0xD7 0xC6 0x2B PUSH18 0xE82174FA209B0BF57F470CC20850C2BA9C64 PUSH20 0x6F6C634300081400330000000000000000000000 ",
"sourceMap": "3657:1067:1:-:0;;;3997:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1927:30;1946:10;1927:18;;;:30;;:::i;:::-;4064:13;4042:12;;:36;;;;;;;;;;;;;;;;;;4105:15;4088:14;:32;;;;3997:130;3657:1067;;3464:187;3537:16;3556:6;;;;;;;;;;;3537:25;;3581:8;3572:6;;:17;;;;;;;;;;;;;;;;;;3635:8;3604:40;;3625:8;3604:40;;;;;;;;;;;;3527:124;3464:187;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;3657:1067:1:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_checkOwner_165": {
"entryPoint": 1537,
"id": 165,
"parameterSlots": 0,
"returnSlots": 0
},
"@_msgSender_90": {
"entryPoint": 1865,
"id": 90,
"parameterSlots": 0,
"returnSlots": 1
},
"@_transferOwnership_227": {
"entryPoint": 1672,
"id": 227,
"parameterSlots": 1,
"returnSlots": 0
},
"@lastUpdateTime_235": {
"entryPoint": 875,
"id": 235,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_148": {
"entryPoint": 447,
"id": 148,
"parameterSlots": 0,
"returnSlots": 1
},
"@renounceOwnership_179": {
"entryPoint": 391,
"id": 179,
"parameterSlots": 0,
"returnSlots": 0
},
"@stake_306": {
"entryPoint": 486,
"id": 306,
"parameterSlots": 1,
"returnSlots": 0
},
"@stakedBalance_239": {
"entryPoint": 370,
"id": 239,
"parameterSlots": 0,
"returnSlots": 0
},
"@stakingToken_233": {
"entryPoint": 410,
"id": 233,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferOwnership_207": {
"entryPoint": 881,
"id": 207,
"parameterSlots": 1,
"returnSlots": 0
},
"@withdraw_350": {
"entryPoint": 1013,
"id": 350,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1946,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 2567,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2236,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1966,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2299,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 2587,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 2256,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2174,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack": {
"entryPoint": 2134,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2417,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2766,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2870,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2018,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2189,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2481,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2985,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_contract$_IERC20_$77__to_t_address__fromStack_reversed": {
"entryPoint": 2149,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2451,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2800,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2904,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2033,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2361,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 2675,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 2934,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1907,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2534,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1876,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2009,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_contract$_IERC20_$77_to_t_address": {
"entryPoint": 2117,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_address": {
"entryPoint": 2100,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_uint160": {
"entryPoint": 2067,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"identity": {
"entryPoint": 2058,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 2630,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1872,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab": {
"entryPoint": 2377,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0": {
"entryPoint": 2726,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82": {
"entryPoint": 2830,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1924,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 2545,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2214,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:9122:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:2"
},
"nodeType": "YulFunctionCall",
"src": "400:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:2"
},
"nodeType": "YulFunctionCall",
"src": "532:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:2",
"type": ""
}
],
"src": "466:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:2"
},
"nodeType": "YulFunctionCall",
"src": "670:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:2"
},
"nodeType": "YulFunctionCall",
"src": "641:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:2"
},
"nodeType": "YulFunctionCall",
"src": "631:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:2"
},
"nodeType": "YulFunctionCall",
"src": "624:43:2"
},
"nodeType": "YulIf",
"src": "621:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:2",
"type": ""
}
],
"src": "568:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:2"
},
"nodeType": "YulFunctionCall",
"src": "767:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:2"
},
"nodeType": "YulFunctionCall",
"src": "796:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:2"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:2",
"type": ""
}
],
"src": "696:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "907:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "953:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "955:77:2"
},
"nodeType": "YulFunctionCall",
"src": "955:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "955:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "928:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "937:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "924:3:2"
},
"nodeType": "YulFunctionCall",
"src": "924:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "949:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "920:3:2"
},
"nodeType": "YulFunctionCall",
"src": "920:32:2"
},
"nodeType": "YulIf",
"src": "917:119:2"
},
{
"nodeType": "YulBlock",
"src": "1046:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1061:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1075:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1065:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1090:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1125:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1121:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1121:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1145:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1100:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1100:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1090:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "877:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "888:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "900:6:2",
"type": ""
}
],
"src": "841:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1221:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1231:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1242:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1231:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1203:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1213:7:2",
"type": ""
}
],
"src": "1176:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1324:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1341:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1364:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1346:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1346:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1334:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1334:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1334:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1312:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1319:3:2",
"type": ""
}
],
"src": "1259:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1481:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1491:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1503:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1514:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1499:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1499:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1491:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1571:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1584:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1595:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1580:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1580:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1527:43:2"
},
"nodeType": "YulFunctionCall",
"src": "1527:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "1527:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1453:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1465:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1476:4:2",
"type": ""
}
],
"src": "1383:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1643:28:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1653:12:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1660:5:2"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1653:3:2"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1629:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1639:3:2",
"type": ""
}
],
"src": "1611:60:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1737:82:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1747:66:2",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1805:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1787:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1787:24:2"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1778:8:2"
},
"nodeType": "YulFunctionCall",
"src": "1778:34:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1760:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1760:53:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1747:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1717:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1727:9:2",
"type": ""
}
],
"src": "1677:142:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1885:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1895:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1939:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "1908:30:2"
},
"nodeType": "YulFunctionCall",
"src": "1908:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1895:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1865:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1875:9:2",
"type": ""
}
],
"src": "1825:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2030:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2040:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2084:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "2053:30:2"
},
"nodeType": "YulFunctionCall",
"src": "2053:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2040:9:2"
}
]
}
]
},
"name": "convert_t_contract$_IERC20_$77_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2010:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2020:9:2",
"type": ""
}
],
"src": "1957:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2180:79:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2197:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2246:5:2"
}
],
"functionName": {
"name": "convert_t_contract$_IERC20_$77_to_t_address",
"nodeType": "YulIdentifier",
"src": "2202:43:2"
},
"nodeType": "YulFunctionCall",
"src": "2202:50:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2190:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2190:63:2"
},
"nodeType": "YulExpressionStatement",
"src": "2190:63:2"
}
]
},
"name": "abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2168:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2175:3:2",
"type": ""
}
],
"src": "2102:157:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2376:137:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2386:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2398:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2409:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2394:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2394:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2386:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2479:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2492:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2503:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2488:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2488:17:2"
}
],
"functionName": {
"name": "abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2422:56:2"
},
"nodeType": "YulFunctionCall",
"src": "2422:84:2"
},
"nodeType": "YulExpressionStatement",
"src": "2422:84:2"
}
]
},
"name": "abi_encode_tuple_t_contract$_IERC20_$77__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2348:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2360:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2371:4:2",
"type": ""
}
],
"src": "2265:248:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2584:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2601:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2624:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2606:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2606:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2594:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2594:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "2594:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2572:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2579:3:2",
"type": ""
}
],
"src": "2519:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2741:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2751:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2763:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2774:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2759:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2759:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2751:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2831:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2844:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2855:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2840:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2840:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2787:43:2"
},
"nodeType": "YulFunctionCall",
"src": "2787:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "2787:71:2"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2713:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2725:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2736:4:2",
"type": ""
}
],
"src": "2643:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2914:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2971:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2980:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2983:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2973:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2973:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "2973:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2937:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2962:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2944:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2944:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2934:2:2"
},
"nodeType": "YulFunctionCall",
"src": "2934:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2927:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2927:43:2"
},
"nodeType": "YulIf",
"src": "2924:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2907:5:2",
"type": ""
}
],
"src": "2871:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3051:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3061:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3083:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3070:12:2"
},
"nodeType": "YulFunctionCall",
"src": "3070:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3061:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3126:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "3099:26:2"
},
"nodeType": "YulFunctionCall",
"src": "3099:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "3099:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3029:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3037:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3045:5:2",
"type": ""
}
],
"src": "2999:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3210:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3256:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3258:77:2"
},
"nodeType": "YulFunctionCall",
"src": "3258:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "3258:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3231:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3240:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3227:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3227:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3252:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3223:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3223:32:2"
},
"nodeType": "YulIf",
"src": "3220:119:2"
},
{
"nodeType": "YulBlock",
"src": "3349:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3364:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3378:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3368:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3393:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3428:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3439:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3424:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3424:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3448:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3403:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3403:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3393:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3180:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3191:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3203:6:2",
"type": ""
}
],
"src": "3144:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3562:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3608:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3610:77:2"
},
"nodeType": "YulFunctionCall",
"src": "3610:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "3610:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3583:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3592:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3579:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3579:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3604:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3575:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3575:32:2"
},
"nodeType": "YulIf",
"src": "3572:119:2"
},
{
"nodeType": "YulBlock",
"src": "3701:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3716:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3730:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3720:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3745:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3780:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3791:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3776:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3776:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3800:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "3755:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3755:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3745:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3828:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3843:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3857:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3847:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3873:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3908:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3919:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3904:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3904:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3928:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3883:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3883:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3873:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3524:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3535:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3547:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3555:6:2",
"type": ""
}
],
"src": "3479:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4055:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4072:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4077:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4065:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4065:19:2"
},
"nodeType": "YulExpressionStatement",
"src": "4065:19:2"
},
{
"nodeType": "YulAssignment",
"src": "4093:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4112:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4117:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4108:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4108:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4093:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4027:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4032:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4043:11:2",
"type": ""
}
],
"src": "3959:169:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4240:58:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4262:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4270:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4258:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4258:14:2"
},
{
"hexValue": "43616e6e6f74207374616b652030",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4274:16:2",
"type": "",
"value": "Cannot stake 0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4251:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4251:40:2"
},
"nodeType": "YulExpressionStatement",
"src": "4251:40:2"
}
]
},
"name": "store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4232:6:2",
"type": ""
}
],
"src": "4134:164:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4450:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4460:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4526:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4531:2:2",
"type": "",
"value": "14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4467:58:2"
},
"nodeType": "YulFunctionCall",
"src": "4467:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4460:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4632:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab",
"nodeType": "YulIdentifier",
"src": "4543:88:2"
},
"nodeType": "YulFunctionCall",
"src": "4543:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "4543:93:2"
},
{
"nodeType": "YulAssignment",
"src": "4645:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4656:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4661:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4652:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4652:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4645:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4438:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4446:3:2",
"type": ""
}
],
"src": "4304:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4847:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4857:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4869:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4880:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4865:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4865:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4857:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4904:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4915:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4900:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4900:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4923:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4929:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4919:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4919:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4893:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4893:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "4893:47:2"
},
{
"nodeType": "YulAssignment",
"src": "4949:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5083:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4957:124:2"
},
"nodeType": "YulFunctionCall",
"src": "4957:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4949:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4827:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4842:4:2",
"type": ""
}
],
"src": "4676:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5255:288:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5265:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5277:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5288:2:2",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5273:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5273:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5265:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5345:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5358:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5369:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5354:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5354:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5301:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5301:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "5301:71:2"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5426:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5439:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5450:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5435:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5435:18:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5382:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5382:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "5382:72:2"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5508:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5521:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5532:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5517:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5517:18:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5464:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5464:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "5464:72:2"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5211:9:2",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5223:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5231:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5239:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5250:4:2",
"type": ""
}
],
"src": "5101:442:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5591:48:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5601:32:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5626:5:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5619:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5619:13:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5612:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5612:21:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5601:7:2"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5573:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5583:7:2",
"type": ""
}
],
"src": "5549:90:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5685:76:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5739:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5748:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5751:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5741:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5741:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "5741:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5708:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5730:5:2"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "5715:14:2"
},
"nodeType": "YulFunctionCall",
"src": "5715:21:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5705:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5705:32:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5698:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5698:40:2"
},
"nodeType": "YulIf",
"src": "5695:60:2"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5678:5:2",
"type": ""
}
],
"src": "5645:116:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5827:77:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5837:22:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5852:6:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5846:5:2"
},
"nodeType": "YulFunctionCall",
"src": "5846:13:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5837:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5892:5:2"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "5868:23:2"
},
"nodeType": "YulFunctionCall",
"src": "5868:30:2"
},
"nodeType": "YulExpressionStatement",
"src": "5868:30:2"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5805:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5813:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5821:5:2",
"type": ""
}
],
"src": "5767:137:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5984:271:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6030:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6032:77:2"
},
"nodeType": "YulFunctionCall",
"src": "6032:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "6032:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6005:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6014:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6001:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6001:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6026:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5997:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5997:32:2"
},
"nodeType": "YulIf",
"src": "5994:119:2"
},
{
"nodeType": "YulBlock",
"src": "6123:125:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6138:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6152:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6142:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6167:71:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6210:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6221:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6206:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6206:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6230:7:2"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "6177:28:2"
},
"nodeType": "YulFunctionCall",
"src": "6177:61:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6167:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5954:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "5965:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5977:6:2",
"type": ""
}
],
"src": "5910:345:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6289:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6306:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6309:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6299:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6299:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "6299:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6403:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6406:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6396:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6396:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "6396:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6427:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6430:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6420:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6420:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "6420:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6261:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6491:147:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6501:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6524:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6506:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6506:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6501:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6535:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6558:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6540:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6540:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6535:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6569:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6580:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6583:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6576:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6576:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6569:3:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6609:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6611:16:2"
},
"nodeType": "YulFunctionCall",
"src": "6611:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "6611:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6601:1:2"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6604:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6598:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6598:10:2"
},
"nodeType": "YulIf",
"src": "6595:36:2"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "6478:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "6481:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "6487:3:2",
"type": ""
}
],
"src": "6447:191:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6750:61:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6772:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6780:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6768:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6768:14:2"
},
{
"hexValue": "43616e6e6f742077697468647261772030",
"kind": "string",
"nodeType": "YulLiteral",
"src": "6784:19:2",
"type": "",
"value": "Cannot withdraw 0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6761:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6761:43:2"
},
"nodeType": "YulExpressionStatement",
"src": "6761:43:2"
}
]
},
"name": "store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6742:6:2",
"type": ""
}
],
"src": "6644:167:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6963:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6973:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7039:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7044:2:2",
"type": "",
"value": "17"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6980:58:2"
},
"nodeType": "YulFunctionCall",
"src": "6980:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6973:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7145:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0",
"nodeType": "YulIdentifier",
"src": "7056:88:2"
},
"nodeType": "YulFunctionCall",
"src": "7056:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "7056:93:2"
},
{
"nodeType": "YulAssignment",
"src": "7158:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7169:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7174:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7165:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7165:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7158:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6951:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6959:3:2",
"type": ""
}
],
"src": "6817:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7360:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7370:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7382:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7393:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7378:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7378:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7370:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7417:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7428:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7413:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7413:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7436:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7442:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7432:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7432:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7406:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7406:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "7406:47:2"
},
{
"nodeType": "YulAssignment",
"src": "7462:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7596:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7470:124:2"
},
"nodeType": "YulFunctionCall",
"src": "7470:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7462:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7340:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7355:4:2",
"type": ""
}
],
"src": "7189:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7720:64:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7742:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7750:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7738:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7738:14:2"
},
{
"hexValue": "496e73756666696369656e742042616c616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7754:22:2",
"type": "",
"value": "Insufficient Balance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7731:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7731:46:2"
},
"nodeType": "YulExpressionStatement",
"src": "7731:46:2"
}
]
},
"name": "store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7712:6:2",
"type": ""
}
],
"src": "7614:170:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7936:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7946:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8012:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8017:2:2",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7953:58:2"
},
"nodeType": "YulFunctionCall",
"src": "7953:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7946:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8118:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82",
"nodeType": "YulIdentifier",
"src": "8029:88:2"
},
"nodeType": "YulFunctionCall",
"src": "8029:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "8029:93:2"
},
{
"nodeType": "YulAssignment",
"src": "8131:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8142:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8147:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8138:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8138:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8131:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7924:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7932:3:2",
"type": ""
}
],
"src": "7790:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8333:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8343:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8355:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8366:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8351:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8351:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8343:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8390:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8401:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8386:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8386:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8409:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8415:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8405:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8405:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8379:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8379:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "8379:47:2"
},
{
"nodeType": "YulAssignment",
"src": "8435:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8569:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8443:124:2"
},
"nodeType": "YulFunctionCall",
"src": "8443:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8435:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8313:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8328:4:2",
"type": ""
}
],
"src": "8162:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8632:149:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8642:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8665:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8647:17:2"
},
"nodeType": "YulFunctionCall",
"src": "8647:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8642:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8676:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8699:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8681:17:2"
},
"nodeType": "YulFunctionCall",
"src": "8681:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8676:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8710:17:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8722:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8725:1:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8718:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8718:9:2"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "8710:4:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8752:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "8754:16:2"
},
"nodeType": "YulFunctionCall",
"src": "8754:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "8754:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "8743:4:2"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8749:1:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8740:2:2"
},
"nodeType": "YulFunctionCall",
"src": "8740:11:2"
},
"nodeType": "YulIf",
"src": "8737:37:2"
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "8618:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "8621:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "8627:4:2",
"type": ""
}
],
"src": "8587:194:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8913:206:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8923:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8935:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8946:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8931:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8931:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8923:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "9003:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9016:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9027:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9012:3:2"
},
"nodeType": "YulFunctionCall",
"src": "9012:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "8959:43:2"
},
"nodeType": "YulFunctionCall",
"src": "8959:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "8959:71:2"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "9084:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9097:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9108:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9093:3:2"
},
"nodeType": "YulFunctionCall",
"src": "9093:18:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "9040:43:2"
},
"nodeType": "YulFunctionCall",
"src": "9040:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "9040:72:2"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8877:9:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "8889:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "8897:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8908:4:2",
"type": ""
}
],
"src": "8787:332:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_IERC20_$77_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IERC20_$77_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_IERC20_$77__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot stake 0\")\n\n }\n\n function abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot withdraw 0\")\n\n }\n\n function abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient Balance\")\n\n }\n\n function abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063a694fc3a11610059578063a694fc3a14610100578063c8f33c911461011c578063f2fde38b1461013a578063f3fef3a31461015657610086565b8063602172671461008a578063715018a6146100ba57806372f702f3146100c45780638da5cb5b146100e2575b5f80fd5b6100a4600480360381019061009f91906107ae565b610172565b6040516100b191906107f1565b60405180910390f35b6100c2610187565b005b6100cc61019a565b6040516100d99190610865565b60405180910390f35b6100ea6101bf565b6040516100f7919061088d565b60405180910390f35b61011a600480360381019061011591906108d0565b6101e6565b005b61012461036b565b60405161013191906107f1565b60405180910390f35b610154600480360381019061014f91906107ae565b610371565b005b610170600480360381019061016b91906108fb565b6103f5565b005b6003602052805f5260405f205f915090505481565b61018f610601565b6101985f610688565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8111610228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021f90610993565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610286939291906109b1565b6020604051808303815f875af11580156102a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c69190610a1b565b508060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103139190610a73565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d8260405161036091906107f1565b60405180910390a250565b60025481565b610379610601565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103e9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016103e0919061088d565b60405180910390fd5b6103f281610688565b50565b6103fd610601565b5f811161043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043690610af0565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b690610b58565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461050b9190610b76565b9250508190555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161056e929190610ba9565b6020604051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190610a1b565b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516105f591906107f1565b60405180910390a25050565b610609610749565b73ffffffffffffffffffffffffffffffffffffffff166106276101bf565b73ffffffffffffffffffffffffffffffffffffffff16146106865761064a610749565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161067d919061088d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61077d82610754565b9050919050565b61078d81610773565b8114610797575f80fd5b50565b5f813590506107a881610784565b92915050565b5f602082840312156107c3576107c2610750565b5b5f6107d08482850161079a565b91505092915050565b5f819050919050565b6107eb816107d9565b82525050565b5f6020820190506108045f8301846107e2565b92915050565b5f819050919050565b5f61082d61082861082384610754565b61080a565b610754565b9050919050565b5f61083e82610813565b9050919050565b5f61084f82610834565b9050919050565b61085f81610845565b82525050565b5f6020820190506108785f830184610856565b92915050565b61088781610773565b82525050565b5f6020820190506108a05f83018461087e565b92915050565b6108af816107d9565b81146108b9575f80fd5b50565b5f813590506108ca816108a6565b92915050565b5f602082840312156108e5576108e4610750565b5b5f6108f2848285016108bc565b91505092915050565b5f806040838503121561091157610910610750565b5b5f61091e8582860161079a565b925050602061092f858286016108bc565b9150509250929050565b5f82825260208201905092915050565b7f43616e6e6f74207374616b6520300000000000000000000000000000000000005f82015250565b5f61097d600e83610939565b915061098882610949565b602082019050919050565b5f6020820190508181035f8301526109aa81610971565b9050919050565b5f6060820190506109c45f83018661087e565b6109d1602083018561087e565b6109de60408301846107e2565b949350505050565b5f8115159050919050565b6109fa816109e6565b8114610a04575f80fd5b50565b5f81519050610a15816109f1565b92915050565b5f60208284031215610a3057610a2f610750565b5b5f610a3d84828501610a07565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610a7d826107d9565b9150610a88836107d9565b9250828201905080821115610aa057610a9f610a46565b5b92915050565b7f43616e6e6f7420776974686472617720300000000000000000000000000000005f82015250565b5f610ada601183610939565b9150610ae582610aa6565b602082019050919050565b5f6020820190508181035f830152610b0781610ace565b9050919050565b7f496e73756666696369656e742042616c616e63650000000000000000000000005f82015250565b5f610b42601483610939565b9150610b4d82610b0e565b602082019050919050565b5f6020820190508181035f830152610b6f81610b36565b9050919050565b5f610b80826107d9565b9150610b8b836107d9565b9250828203905081811115610ba357610ba2610a46565b5b92915050565b5f604082019050610bbc5f83018561087e565b610bc960208301846107e2565b939250505056fea264697066735822122042a95abbf08960a6e61ddfd7c62b71e82174fa209b0bf57f470cc20850c2ba9c64736f6c63430008140033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x86 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA694FC3A GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xA694FC3A EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0xC8F33C91 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xF3FEF3A3 EQ PUSH2 0x156 JUMPI PUSH2 0x86 JUMP JUMPDEST DUP1 PUSH4 0x60217267 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xBA JUMPI DUP1 PUSH4 0x72F702F3 EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x172 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB1 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC2 PUSH2 0x187 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCC PUSH2 0x19A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x865 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x1E6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x124 PUSH2 0x36B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x154 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16B SWAP2 SWAP1 PUSH2 0x8FB JUMP JUMPDEST PUSH2 0x3F5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0x18F PUSH2 0x601 JUMP JUMPDEST PUSH2 0x198 PUSH0 PUSH2 0x688 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x228 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21F SWAP1 PUSH2 0x993 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x286 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9B1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2A2 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP1 PUSH1 0x3 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x313 SWAP2 SWAP1 PUSH2 0xA73 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x9E71BC8EEA02A63969F509818F2DAFB9254532904319F9DBDA79B67BD34A5F3D DUP3 PUSH1 0x40 MLOAD PUSH2 0x360 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x379 PUSH2 0x601 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x3E9 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E0 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F2 DUP2 PUSH2 0x688 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x3FD PUSH2 0x601 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x43F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x436 SWAP1 PUSH2 0xAF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x4BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4B6 SWAP1 PUSH2 0xB58 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x50B SWAP2 SWAP1 PUSH2 0xB76 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56E SWAP3 SWAP2 SWAP1 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x5F5 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x609 PUSH2 0x749 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x627 PUSH2 0x1BF JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x686 JUMPI PUSH2 0x64A PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x67D SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x77D DUP3 PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x78D DUP2 PUSH2 0x773 JUMP JUMPDEST DUP2 EQ PUSH2 0x797 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7A8 DUP2 PUSH2 0x784 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x7D0 DUP5 DUP3 DUP6 ADD PUSH2 0x79A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7EB DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x804 PUSH0 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x82D PUSH2 0x828 PUSH2 0x823 DUP5 PUSH2 0x754 JUMP JUMPDEST PUSH2 0x80A JUMP JUMPDEST PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x83E DUP3 PUSH2 0x813 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x84F DUP3 PUSH2 0x834 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85F DUP2 PUSH2 0x845 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x878 PUSH0 DUP4 ADD DUP5 PUSH2 0x856 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x887 DUP2 PUSH2 0x773 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8A0 PUSH0 DUP4 ADD DUP5 PUSH2 0x87E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8AF DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP2 EQ PUSH2 0x8B9 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x8CA DUP2 PUSH2 0x8A6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8E5 JUMPI PUSH2 0x8E4 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x8F2 DUP5 DUP3 DUP6 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x911 JUMPI PUSH2 0x910 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x91E DUP6 DUP3 DUP7 ADD PUSH2 0x79A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x92F DUP6 DUP3 DUP7 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207374616B652030000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x97D PUSH1 0xE DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0x988 DUP3 PUSH2 0x949 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x9AA DUP2 PUSH2 0x971 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x9C4 PUSH0 DUP4 ADD DUP7 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9D1 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9DE PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FA DUP2 PUSH2 0x9E6 JUMP JUMPDEST DUP2 EQ PUSH2 0xA04 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xA15 DUP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA2F PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA3D DUP5 DUP3 DUP6 ADD PUSH2 0xA07 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xA7D DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xA88 DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xAA0 JUMPI PUSH2 0xA9F PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F742077697468647261772030000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xADA PUSH1 0x11 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xAE5 DUP3 PUSH2 0xAA6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB07 DUP2 PUSH2 0xACE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742042616C616E6365000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xB42 PUSH1 0x14 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xB4D DUP3 PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB6F DUP2 PUSH2 0xB36 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xB80 DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xB8B DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xBA3 JUMPI PUSH2 0xBA2 PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xBBC PUSH0 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0xBC9 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 TIMESTAMP 0xA9 GAS 0xBB CREATE DUP10 PUSH1 0xA6 0xE6 SAR 0xDF 0xD7 0xC6 0x2B PUSH18 0xE82174FA209B0BF57F470CC20850C2BA9C64 PUSH20 0x6F6C634300081400330000000000000000000000 ",
"sourceMap": "3657:1067:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3826:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2845:101;;;:::i;:::-;;3699:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2190:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4133:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3756:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3095:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4389:333;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3826:48;;;;;;;;;;;;;;;;;:::o;2845:101::-;2083:13;:11;:13::i;:::-;2909:30:::1;2936:1;2909:18;:30::i;:::-;2845:101::o:0;3699:26::-;;;;;;;;;;;;;:::o;2190:85::-;2236:7;2262:6;;;;;;;;;;;2255:13;;2190:85;:::o;4133:250::-;4200:1;4191:6;:10;4183:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;4230:12;;;;;;;;;;;:25;;;4256:10;4276:4;4283:6;4230:60;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4329:6;4300:13;:25;4314:10;4300:25;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;4357:10;4350:26;;;4369:6;4350:26;;;;;;:::i;:::-;;;;;;;;4133:250;:::o;3756:29::-;;;;:::o;3095:215::-;2083:13;:11;:13::i;:::-;3199:1:::1;3179:22;;:8;:22;;::::0;3175:91:::1;;3252:1;3224:31;;;;;;;;;;;:::i;:::-;;;;;;;;3175:91;3275:28;3294:8;3275:18;:28::i;:::-;3095:215:::0;:::o;4389:333::-;2083:13;:11;:13::i;:::-;4486:1:::1;4477:6;:10;4469:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;4553:6;4527:13;:22;4541:7;4527:22;;;;;;;;;;;;;;;;:32;;4519:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4620:6;4594:13;:22;4608:7;4594:22;;;;;;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;4636:12;;;;;;;;;;;:21;;;4658:7;4667:6;4636:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4699:7;4689:26;;;4708:6;4689:26;;;;;;:::i;:::-;;;;;;;;4389:333:::0;;:::o;2348:162::-;2418:12;:10;:12::i;:::-;2407:23;;:7;:5;:7::i;:::-;:23;;;2403:101;;2480:12;:10;:12::i;:::-;2453:40;;;;;;;;;;;:::i;:::-;;;;;;;;2403:101;2348:162::o;3464:187::-;3537:16;3556:6;;;;;;;;;;;3537:25;;3581:8;3572:6;;:17;;;;;;;;;;;;;;;;;;3635:8;3604:40;;3625:8;3604:40;;;;;;;;;;;;3527:124;3464:187;:::o;647:96::-;700:7;726:10;719:17;;647:96;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:60::-;1639:3;1660:5;1653:12;;1611:60;;;:::o;1677:142::-;1727:9;1760:53;1778:34;1787:24;1805:5;1787:24;:::i;:::-;1778:34;:::i;:::-;1760:53;:::i;:::-;1747:66;;1677:142;;;:::o;1825:126::-;1875:9;1908:37;1939:5;1908:37;:::i;:::-;1895:50;;1825:126;;;:::o;1957:139::-;2020:9;2053:37;2084:5;2053:37;:::i;:::-;2040:50;;1957:139;;;:::o;2102:157::-;2202:50;2246:5;2202:50;:::i;:::-;2197:3;2190:63;2102:157;;:::o;2265:248::-;2371:4;2409:2;2398:9;2394:18;2386:26;;2422:84;2503:1;2492:9;2488:17;2479:6;2422:84;:::i;:::-;2265:248;;;;:::o;2519:118::-;2606:24;2624:5;2606:24;:::i;:::-;2601:3;2594:37;2519:118;;:::o;2643:222::-;2736:4;2774:2;2763:9;2759:18;2751:26;;2787:71;2855:1;2844:9;2840:17;2831:6;2787:71;:::i;:::-;2643:222;;;;:::o;2871:122::-;2944:24;2962:5;2944:24;:::i;:::-;2937:5;2934:35;2924:63;;2983:1;2980;2973:12;2924:63;2871:122;:::o;2999:139::-;3045:5;3083:6;3070:20;3061:29;;3099:33;3126:5;3099:33;:::i;:::-;2999:139;;;;:::o;3144:329::-;3203:6;3252:2;3240:9;3231:7;3227:23;3223:32;3220:119;;;3258:79;;:::i;:::-;3220:119;3378:1;3403:53;3448:7;3439:6;3428:9;3424:22;3403:53;:::i;:::-;3393:63;;3349:117;3144:329;;;;:::o;3479:474::-;3547:6;3555;3604:2;3592:9;3583:7;3579:23;3575:32;3572:119;;;3610:79;;:::i;:::-;3572:119;3730:1;3755:53;3800:7;3791:6;3780:9;3776:22;3755:53;:::i;:::-;3745:63;;3701:117;3857:2;3883:53;3928:7;3919:6;3908:9;3904:22;3883:53;:::i;:::-;3873:63;;3828:118;3479:474;;;;;:::o;3959:169::-;4043:11;4077:6;4072:3;4065:19;4117:4;4112:3;4108:14;4093:29;;3959:169;;;;:::o;4134:164::-;4274:16;4270:1;4262:6;4258:14;4251:40;4134:164;:::o;4304:366::-;4446:3;4467:67;4531:2;4526:3;4467:67;:::i;:::-;4460:74;;4543:93;4632:3;4543:93;:::i;:::-;4661:2;4656:3;4652:12;4645:19;;4304:366;;;:::o;4676:419::-;4842:4;4880:2;4869:9;4865:18;4857:26;;4929:9;4923:4;4919:20;4915:1;4904:9;4900:17;4893:47;4957:131;5083:4;4957:131;:::i;:::-;4949:139;;4676:419;;;:::o;5101:442::-;5250:4;5288:2;5277:9;5273:18;5265:26;;5301:71;5369:1;5358:9;5354:17;5345:6;5301:71;:::i;:::-;5382:72;5450:2;5439:9;5435:18;5426:6;5382:72;:::i;:::-;5464;5532:2;5521:9;5517:18;5508:6;5464:72;:::i;:::-;5101:442;;;;;;:::o;5549:90::-;5583:7;5626:5;5619:13;5612:21;5601:32;;5549:90;;;:::o;5645:116::-;5715:21;5730:5;5715:21;:::i;:::-;5708:5;5705:32;5695:60;;5751:1;5748;5741:12;5695:60;5645:116;:::o;5767:137::-;5821:5;5852:6;5846:13;5837:22;;5868:30;5892:5;5868:30;:::i;:::-;5767:137;;;;:::o;5910:345::-;5977:6;6026:2;6014:9;6005:7;6001:23;5997:32;5994:119;;;6032:79;;:::i;:::-;5994:119;6152:1;6177:61;6230:7;6221:6;6210:9;6206:22;6177:61;:::i;:::-;6167:71;;6123:125;5910:345;;;;:::o;6261:180::-;6309:77;6306:1;6299:88;6406:4;6403:1;6396:15;6430:4;6427:1;6420:15;6447:191;6487:3;6506:20;6524:1;6506:20;:::i;:::-;6501:25;;6540:20;6558:1;6540:20;:::i;:::-;6535:25;;6583:1;6580;6576:9;6569:16;;6604:3;6601:1;6598:10;6595:36;;;6611:18;;:::i;:::-;6595:36;6447:191;;;;:::o;6644:167::-;6784:19;6780:1;6772:6;6768:14;6761:43;6644:167;:::o;6817:366::-;6959:3;6980:67;7044:2;7039:3;6980:67;:::i;:::-;6973:74;;7056:93;7145:3;7056:93;:::i;:::-;7174:2;7169:3;7165:12;7158:19;;6817:366;;;:::o;7189:419::-;7355:4;7393:2;7382:9;7378:18;7370:26;;7442:9;7436:4;7432:20;7428:1;7417:9;7413:17;7406:47;7470:131;7596:4;7470:131;:::i;:::-;7462:139;;7189:419;;;:::o;7614:170::-;7754:22;7750:1;7742:6;7738:14;7731:46;7614:170;:::o;7790:366::-;7932:3;7953:67;8017:2;8012:3;7953:67;:::i;:::-;7946:74;;8029:93;8118:3;8029:93;:::i;:::-;8147:2;8142:3;8138:12;8131:19;;7790:366;;;:::o;8162:419::-;8328:4;8366:2;8355:9;8351:18;8343:26;;8415:9;8409:4;8405:20;8401:1;8390:9;8386:17;8379:47;8443:131;8569:4;8443:131;:::i;:::-;8435:139;;8162:419;;;:::o;8587:194::-;8627:4;8647:20;8665:1;8647:20;:::i;:::-;8642:25;;8681:20;8699:1;8681:20;:::i;:::-;8676:25;;8725:1;8722;8718:9;8710:17;;8749:1;8743:4;8740:11;8737:37;;;8754:18;;:::i;:::-;8737:37;8587:194;;;;:::o;8787:332::-;8908:4;8946:2;8935:9;8931:18;8923:26;;8959:71;9027:1;9016:9;9012:17;9003:6;8959:71;:::i;:::-;9040:72;9108:2;9097:9;9093:18;9084:6;9040:72;:::i;:::-;8787:332;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "615600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"lastUpdateTime()": "2447",
"owner()": "2582",
"renounceOwnership()": "infinite",
"stake(uint256)": "infinite",
"stakedBalance(address)": "2803",
"stakingToken()": "infinite",
"transferOwnership(address)": "infinite",
"withdraw(address,uint256)": "infinite"
}
},
"methodIdentifiers": {
"lastUpdateTime()": "c8f33c91",
"owner()": "8da5cb5b",
"renounceOwnership()": "715018a6",
"stake(uint256)": "a694fc3a",
"stakedBalance(address)": "60217267",
"stakingToken()": "72f702f3",
"transferOwnership(address)": "f2fde38b",
"withdraw(address,uint256)": "f3fef3a3"
}
},
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_stakingToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Staked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [],
"name": "lastUpdateTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "stakedBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stakingToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_holder",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]
}
{
"compiler": {
"version": "0.8.20+commit.a1b79de6"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_stakingToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Staked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [],
"name": "lastUpdateTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "stakedBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stakingToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_holder",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"errors": {
"OwnableInvalidOwner(address)": [
{
"details": "The owner is not a valid owner account. (eg. `address(0)`)"
}
],
"OwnableUnauthorizedAccount(address)": [
{
"details": "The caller account is not authorized to perform an operation."
}
]
},
"kind": "dev",
"methods": {
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"compilationTarget": {
"contracts/Staking.sol": "StakingContract"
},
"evmVersion": "shanghai",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
},
"sources": {
"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"keccak256": "0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70",
"license": "MIT",
"urls": [
"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c",
"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq"
]
},
"contracts/Staking.sol": {
"keccak256": "0xd1a4acb77aa26d28e295856e34e5940edc275ec2eec1d0e31a304642ed3889cd",
"license": "MIT",
"urls": [
"bzz-raw://3503a6a73bc3fd9558af78a62d7964d9fe29a4fe34b7ab3be168f967f0f59cca",
"dweb:/ipfs/QmcBBSeZzEfAcmUx4AAkyFJh8TYEHYJ7jJaQwvxVgedrna"
]
}
},
"version": 1
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
}
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* The initial owner is set to the address provided by the deployer. This can
* later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor() {
_transferOwnership(msg.sender);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}
contract StakingContract is Ownable {
IERC20 public stakingToken; // The token users stake
uint256 public lastUpdateTime; // Last time rewards were updated
mapping(address => uint256) public stakedBalance;
event Staked(address indexed user, uint256 amount);
event Withdrawn(address indexed user, uint256 amount);
constructor(address _stakingToken) {
stakingToken = IERC20(_stakingToken);
lastUpdateTime = block.timestamp;
}
function stake(uint256 amount) external {
require(amount > 0, "Cannot stake 0");
stakingToken.transferFrom(msg.sender, address(this), amount);
stakedBalance[msg.sender] += amount;
emit Staked(msg.sender, amount);
}
function withdraw(address _holder, uint256 amount) external onlyOwner {
require(amount > 0, "Cannot withdraw 0");
require(stakedBalance[_holder] >= amount, "Insufficient Balance");
stakedBalance[_holder] -= amount;
stakingToken.transfer(_holder, amount);
emit Withdrawn(_holder, amount);
}
}
This file has been truncated, but you can view the full file.
{
"id": "10cf40742637408021e91e4b0c643344",
"_format": "hh-sol-build-info-1",
"solcVersion": "0.8.20",
"solcLongVersion": "0.8.20+commit.a1b79de6",
"input": {
"language": "Solidity",
"sources": {
"contracts/Staking.sol": {
"content": "// SPDX-License-Identifier: MIT\n\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n}\n\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(msg.sender);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n\n\n\ncontract StakingContract is Ownable {\n IERC20 public stakingToken; // The token users stake\n uint256 public lastUpdateTime; // Last time rewards were updated\n\n mapping(address => uint256) public stakedBalance;\n\n event Staked(address indexed user, uint256 amount);\n event Withdrawn(address indexed user, uint256 amount);\n\n constructor(address _stakingToken) {\n stakingToken = IERC20(_stakingToken);\n lastUpdateTime = block.timestamp;\n }\n\n function stake(uint256 amount) external {\n require(amount > 0, \"Cannot stake 0\");\n stakingToken.transferFrom(msg.sender, address(this), amount);\n stakedBalance[msg.sender] += amount;\n emit Staked(msg.sender, amount);\n }\n\n function withdraw(address _holder, uint256 amount) external onlyOwner {\n require(amount > 0, \"Cannot withdraw 0\");\n require(stakedBalance[_holder] >= amount, \"Insufficient Balance\");\n stakedBalance[_holder] -= amount;\n stakingToken.transfer(_holder, amount);\n emit Withdrawn(_holder, amount);\n }\n}\n"
},
"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n"
}
},
"settings": {
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"": [
"ast"
],
"*": [
"abi",
"metadata",
"devdoc",
"userdoc",
"storageLayout",
"evm.legacyAssembly",
"evm.bytecode",
"evm.deployedBytecode",
"evm.methodIdentifiers",
"evm.gasEstimates",
"evm.assembly"
]
}
}
}
},
"output": {
"contracts": {
"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"IERC20": {
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Approval",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "Transfer",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transfer",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "value",
"type": "uint256"
}
],
"name": "transferFrom",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"details": "Interface of the ERC20 standard as defined in the EIP.",
"events": {
"Approval(address,address,uint256)": {
"details": "Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance."
},
"Transfer(address,address,uint256)": {
"details": "Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero."
}
},
"kind": "dev",
"methods": {
"allowance(address,address)": {
"details": "Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called."
},
"approve(address,uint256)": {
"details": "Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event."
},
"balanceOf(address)": {
"details": "Returns the value of tokens owned by `account`."
},
"totalSupply()": {
"details": "Returns the value of tokens in existence."
},
"transfer(address,uint256)": {
"details": "Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
},
"transferFrom(address,address,uint256)": {
"details": "Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event."
}
},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"allowance(address,address)": "dd62ed3e",
"approve(address,uint256)": "095ea7b3",
"balanceOf(address)": "70a08231",
"totalSupply()": "18160ddd",
"transfer(address,uint256)": "a9059cbb",
"transferFrom(address,address,uint256)": "23b872dd"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
},
"contracts/Staking.sol": {
"Context": {
"abi": [],
"devdoc": {
"details": "Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.",
"kind": "dev",
"methods": {},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Staking.sol\":\"Context\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"contracts/Staking.sol\":{\"keccak256\":\"0xd1a4acb77aa26d28e295856e34e5940edc275ec2eec1d0e31a304642ed3889cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3503a6a73bc3fd9558af78a62d7964d9fe29a4fe34b7ab3be168f967f0f59cca\",\"dweb:/ipfs/QmcBBSeZzEfAcmUx4AAkyFJh8TYEHYJ7jJaQwvxVgedrna\"]}},\"version\":1}",
"storageLayout": {
"storage": [],
"types": null
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"Ownable": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"details": "Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.",
"errors": {
"OwnableInvalidOwner(address)": [
{
"details": "The owner is not a valid owner account. (eg. `address(0)`)"
}
],
"OwnableUnauthorizedAccount(address)": [
{
"details": "The caller account is not authorized to perform an operation."
}
]
},
"kind": "dev",
"methods": {
"constructor": {
"details": "Initializes the contract setting the address provided by the deployer as the initial owner."
},
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"evm": {
"assembly": "",
"bytecode": {
"functionDebugData": {},
"generatedSources": [],
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"functionDebugData": {},
"generatedSources": [],
"immutableReferences": {},
"linkReferences": {},
"object": "",
"opcodes": "",
"sourceMap": ""
},
"gasEstimates": null,
"legacyAssembly": null,
"methodIdentifiers": {
"owner()": "8da5cb5b",
"renounceOwnership()": "715018a6",
"transferOwnership(address)": "f2fde38b"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the address provided by the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Staking.sol\":\"Ownable\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"contracts/Staking.sol\":{\"keccak256\":\"0xd1a4acb77aa26d28e295856e34e5940edc275ec2eec1d0e31a304642ed3889cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3503a6a73bc3fd9558af78a62d7964d9fe29a4fe34b7ab3be168f967f0f59cca\",\"dweb:/ipfs/QmcBBSeZzEfAcmUx4AAkyFJh8TYEHYJ7jJaQwvxVgedrna\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 105,
"contract": "contracts/Staking.sol:Ownable",
"label": "_owner",
"offset": 0,
"slot": "0",
"type": "t_address"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"StakingContract": {
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_stakingToken",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"name": "OwnableInvalidOwner",
"type": "error"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "OwnableUnauthorizedAccount",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "previousOwner",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "OwnershipTransferred",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Staked",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "user",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "Withdrawn",
"type": "event"
},
{
"inputs": [],
"name": "lastUpdateTime",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "renounceOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "stake",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"name": "stakedBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "stakingToken",
"outputs": [
{
"internalType": "contract IERC20",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"name": "transferOwnership",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "_holder",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "withdraw",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"errors": {
"OwnableInvalidOwner(address)": [
{
"details": "The owner is not a valid owner account. (eg. `address(0)`)"
}
],
"OwnableUnauthorizedAccount(address)": [
{
"details": "The caller account is not authorized to perform an operation."
}
]
},
"kind": "dev",
"methods": {
"owner()": {
"details": "Returns the address of the current owner."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"evm": {
"assembly": " /* \"contracts/Staking.sol\":3657:4724 contract StakingContract is Ownable {... */\n mstore(0x40, 0x80)\n /* \"contracts/Staking.sol\":3997:4127 constructor(address _stakingToken) {... */\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\ntag_1:\n pop\n mload(0x40)\n sub(codesize, bytecodeSize)\n dup1\n bytecodeSize\n dup4\n codecopy\n dup2\n dup2\n add\n 0x40\n mstore\n dup2\n add\n swap1\n tag_2\n swap2\n swap1\n tag_3\n jump\t// in\ntag_2:\n /* \"contracts/Staking.sol\":1927:1957 _transferOwnership(msg.sender) */\n tag_7\n /* \"contracts/Staking.sol\":1946:1956 msg.sender */\n caller\n /* \"contracts/Staking.sol\":1927:1945 _transferOwnership */\n shl(0x20, tag_8)\n /* \"contracts/Staking.sol\":1927:1957 _transferOwnership(msg.sender) */\n 0x20\n shr\n jump\t// in\ntag_7:\n /* \"contracts/Staking.sol\":4064:4077 _stakingToken */\n dup1\n /* \"contracts/Staking.sol\":4042:4054 stakingToken */\n 0x01\n 0x00\n /* \"contracts/Staking.sol\":4042:4078 stakingToken = IERC20(_stakingToken) */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Staking.sol\":4105:4120 block.timestamp */\n timestamp\n /* \"contracts/Staking.sol\":4088:4102 lastUpdateTime */\n 0x02\n /* \"contracts/Staking.sol\":4088:4120 lastUpdateTime = block.timestamp */\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Staking.sol\":3997:4127 constructor(address _stakingToken) {... */\n pop\n /* \"contracts/Staking.sol\":3657:4724 contract StakingContract is Ownable {... */\n jump(tag_10)\n /* \"contracts/Staking.sol\":3464:3651 function _transferOwnership(address newOwner) internal virtual {... */\ntag_8:\n /* \"contracts/Staking.sol\":3537:3553 address oldOwner */\n 0x00\n /* \"contracts/Staking.sol\":3556:3562 _owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":3537:3562 address oldOwner = _owner */\n swap1\n pop\n /* \"contracts/Staking.sol\":3581:3589 newOwner */\n dup2\n /* \"contracts/Staking.sol\":3572:3578 _owner */\n 0x00\n dup1\n /* \"contracts/Staking.sol\":3572:3589 _owner = newOwner */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Staking.sol\":3635:3643 newOwner */\n dup2\n /* \"contracts/Staking.sol\":3604:3644 OwnershipTransferred(oldOwner, newOwner) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":3625:3633 oldOwner */\n dup2\n /* \"contracts/Staking.sol\":3604:3644 OwnershipTransferred(oldOwner, newOwner) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\n mload(0x40)\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/Staking.sol\":3527:3651 {... */\n pop\n /* \"contracts/Staking.sol\":3464:3651 function _transferOwnership(address newOwner) internal virtual {... */\n pop\n jump\t// out\n /* \"#utility.yul\":88:205 */\ntag_13:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\ntag_15:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\ntag_16:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_25\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_15\n jump\t// in\ntag_25:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\ntag_17:\n /* \"#utility.yul\":641:665 */\n tag_27\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_16\n jump\t// in\ntag_27:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_28\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\ntag_28:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:839 */\ntag_18:\n /* \"#utility.yul\":753:758 */\n 0x00\n /* \"#utility.yul\":784:790 */\n dup2\n /* \"#utility.yul\":778:791 */\n mload\n /* \"#utility.yul\":769:791 */\n swap1\n pop\n /* \"#utility.yul\":800:833 */\n tag_30\n /* \"#utility.yul\":827:832 */\n dup2\n /* \"#utility.yul\":800:833 */\n tag_17\n jump\t// in\ntag_30:\n /* \"#utility.yul\":696:839 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":845:1196 */\ntag_3:\n /* \"#utility.yul\":915:921 */\n 0x00\n /* \"#utility.yul\":964:966 */\n 0x20\n /* \"#utility.yul\":952:961 */\n dup3\n /* \"#utility.yul\":943:950 */\n dup5\n /* \"#utility.yul\":939:962 */\n sub\n /* \"#utility.yul\":935:967 */\n slt\n /* \"#utility.yul\":932:1051 */\n iszero\n tag_32\n jumpi\n /* \"#utility.yul\":970:1049 */\n tag_33\n tag_13\n jump\t// in\ntag_33:\n /* \"#utility.yul\":932:1051 */\ntag_32:\n /* \"#utility.yul\":1090:1091 */\n 0x00\n /* \"#utility.yul\":1115:1179 */\n tag_34\n /* \"#utility.yul\":1171:1178 */\n dup5\n /* \"#utility.yul\":1162:1168 */\n dup3\n /* \"#utility.yul\":1151:1160 */\n dup6\n /* \"#utility.yul\":1147:1169 */\n add\n /* \"#utility.yul\":1115:1179 */\n tag_18\n jump\t// in\ntag_34:\n /* \"#utility.yul\":1105:1179 */\n swap2\n pop\n /* \"#utility.yul\":1061:1189 */\n pop\n /* \"#utility.yul\":845:1196 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"contracts/Staking.sol\":3657:4724 contract StakingContract is Ownable {... */\ntag_10:\n dataSize(sub_0)\n dup1\n dataOffset(sub_0)\n 0x00\n codecopy\n 0x00\n return\nstop\n\nsub_0: assembly {\n /* \"contracts/Staking.sol\":3657:4724 contract StakingContract is Ownable {... */\n mstore(0x40, 0x80)\n callvalue\n dup1\n iszero\n tag_1\n jumpi\n 0x00\n dup1\n revert\n tag_1:\n pop\n jumpi(tag_2, lt(calldatasize, 0x04))\n shr(0xe0, calldataload(0x00))\n dup1\n 0xa694fc3a\n gt\n tag_11\n jumpi\n dup1\n 0xa694fc3a\n eq\n tag_7\n jumpi\n dup1\n 0xc8f33c91\n eq\n tag_8\n jumpi\n dup1\n 0xf2fde38b\n eq\n tag_9\n jumpi\n dup1\n 0xf3fef3a3\n eq\n tag_10\n jumpi\n jump(tag_2)\n tag_11:\n dup1\n 0x60217267\n eq\n tag_3\n jumpi\n dup1\n 0x715018a6\n eq\n tag_4\n jumpi\n dup1\n 0x72f702f3\n eq\n tag_5\n jumpi\n dup1\n 0x8da5cb5b\n eq\n tag_6\n jumpi\n tag_2:\n 0x00\n dup1\n revert\n /* \"contracts/Staking.sol\":3826:3874 mapping(address => uint256) public stakedBalance */\n tag_3:\n tag_12\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_13\n swap2\n swap1\n tag_14\n jump\t// in\n tag_13:\n tag_15\n jump\t// in\n tag_12:\n mload(0x40)\n tag_16\n swap2\n swap1\n tag_17\n jump\t// in\n tag_16:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Staking.sol\":2845:2946 function renounceOwnership() public virtual onlyOwner {... */\n tag_4:\n tag_18\n tag_19\n jump\t// in\n tag_18:\n stop\n /* \"contracts/Staking.sol\":3699:3725 IERC20 public stakingToken */\n tag_5:\n tag_20\n tag_21\n jump\t// in\n tag_20:\n mload(0x40)\n tag_22\n swap2\n swap1\n tag_23\n jump\t// in\n tag_22:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Staking.sol\":2190:2275 function owner() public view virtual returns (address) {... */\n tag_6:\n tag_24\n tag_25\n jump\t// in\n tag_24:\n mload(0x40)\n tag_26\n swap2\n swap1\n tag_27\n jump\t// in\n tag_26:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Staking.sol\":4133:4383 function stake(uint256 amount) external {... */\n tag_7:\n tag_28\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_29\n swap2\n swap1\n tag_30\n jump\t// in\n tag_29:\n tag_31\n jump\t// in\n tag_28:\n stop\n /* \"contracts/Staking.sol\":3756:3785 uint256 public lastUpdateTime */\n tag_8:\n tag_32\n tag_33\n jump\t// in\n tag_32:\n mload(0x40)\n tag_34\n swap2\n swap1\n tag_17\n jump\t// in\n tag_34:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n return\n /* \"contracts/Staking.sol\":3095:3310 function transferOwnership(address newOwner) public virtual onlyOwner {... */\n tag_9:\n tag_35\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_36\n swap2\n swap1\n tag_14\n jump\t// in\n tag_36:\n tag_37\n jump\t// in\n tag_35:\n stop\n /* \"contracts/Staking.sol\":4389:4722 function withdraw(address _holder, uint256 amount) external onlyOwner {... */\n tag_10:\n tag_38\n 0x04\n dup1\n calldatasize\n sub\n dup2\n add\n swap1\n tag_39\n swap2\n swap1\n tag_40\n jump\t// in\n tag_39:\n tag_41\n jump\t// in\n tag_38:\n stop\n /* \"contracts/Staking.sol\":3826:3874 mapping(address => uint256) public stakedBalance */\n tag_15:\n mstore(0x20, 0x03)\n dup1\n 0x00\n mstore\n keccak256(0x00, 0x40)\n 0x00\n swap2\n pop\n swap1\n pop\n sload\n dup2\n jump\t// out\n /* \"contracts/Staking.sol\":2845:2946 function renounceOwnership() public virtual onlyOwner {... */\n tag_19:\n /* \"contracts/Staking.sol\":2083:2096 _checkOwner() */\n tag_43\n /* \"contracts/Staking.sol\":2083:2094 _checkOwner */\n tag_44\n /* \"contracts/Staking.sol\":2083:2096 _checkOwner() */\n jump\t// in\n tag_43:\n /* \"contracts/Staking.sol\":2909:2939 _transferOwnership(address(0)) */\n tag_46\n /* \"contracts/Staking.sol\":2936:2937 0 */\n 0x00\n /* \"contracts/Staking.sol\":2909:2927 _transferOwnership */\n tag_47\n /* \"contracts/Staking.sol\":2909:2939 _transferOwnership(address(0)) */\n jump\t// in\n tag_46:\n /* \"contracts/Staking.sol\":2845:2946 function renounceOwnership() public virtual onlyOwner {... */\n jump\t// out\n /* \"contracts/Staking.sol\":3699:3725 IERC20 public stakingToken */\n tag_21:\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n jump\t// out\n /* \"contracts/Staking.sol\":2190:2275 function owner() public view virtual returns (address) {... */\n tag_25:\n /* \"contracts/Staking.sol\":2236:2243 address */\n 0x00\n /* \"contracts/Staking.sol\":2262:2268 _owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":2255:2268 return _owner */\n swap1\n pop\n /* \"contracts/Staking.sol\":2190:2275 function owner() public view virtual returns (address) {... */\n swap1\n jump\t// out\n /* \"contracts/Staking.sol\":4133:4383 function stake(uint256 amount) external {... */\n tag_31:\n /* \"contracts/Staking.sol\":4200:4201 0 */\n 0x00\n /* \"contracts/Staking.sol\":4191:4197 amount */\n dup2\n /* \"contracts/Staking.sol\":4191:4201 amount > 0 */\n gt\n /* \"contracts/Staking.sol\":4183:4220 require(amount > 0, \"Cannot stake 0\") */\n tag_50\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_51\n swap1\n tag_52\n jump\t// in\n tag_51:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_50:\n /* \"contracts/Staking.sol\":4230:4242 stakingToken */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":4230:4255 stakingToken.transferFrom */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x23b872dd\n /* \"contracts/Staking.sol\":4256:4266 msg.sender */\n caller\n /* \"contracts/Staking.sol\":4276:4280 this */\n address\n /* \"contracts/Staking.sol\":4283:4289 amount */\n dup5\n /* \"contracts/Staking.sol\":4230:4290 stakingToken.transferFrom(msg.sender, address(this), amount) */\n mload(0x40)\n dup5\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_53\n swap4\n swap3\n swap2\n swap1\n tag_54\n jump\t// in\n tag_53:\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n gas\n call\n iszero\n dup1\n iszero\n tag_56\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_56:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_57\n swap2\n swap1\n tag_58\n jump\t// in\n tag_57:\n pop\n /* \"contracts/Staking.sol\":4329:4335 amount */\n dup1\n /* \"contracts/Staking.sol\":4300:4313 stakedBalance */\n 0x03\n /* \"contracts/Staking.sol\":4300:4325 stakedBalance[msg.sender] */\n 0x00\n /* \"contracts/Staking.sol\":4314:4324 msg.sender */\n caller\n /* \"contracts/Staking.sol\":4300:4325 stakedBalance[msg.sender] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n 0x00\n /* \"contracts/Staking.sol\":4300:4335 stakedBalance[msg.sender] += amount */\n dup3\n dup3\n sload\n tag_59\n swap2\n swap1\n tag_60\n jump\t// in\n tag_59:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Staking.sol\":4357:4367 msg.sender */\n caller\n /* \"contracts/Staking.sol\":4350:4376 Staked(msg.sender, amount) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d\n /* \"contracts/Staking.sol\":4369:4375 amount */\n dup3\n /* \"contracts/Staking.sol\":4350:4376 Staked(msg.sender, amount) */\n mload(0x40)\n tag_61\n swap2\n swap1\n tag_17\n jump\t// in\n tag_61:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"contracts/Staking.sol\":4133:4383 function stake(uint256 amount) external {... */\n pop\n jump\t// out\n /* \"contracts/Staking.sol\":3756:3785 uint256 public lastUpdateTime */\n tag_33:\n sload(0x02)\n dup2\n jump\t// out\n /* \"contracts/Staking.sol\":3095:3310 function transferOwnership(address newOwner) public virtual onlyOwner {... */\n tag_37:\n /* \"contracts/Staking.sol\":2083:2096 _checkOwner() */\n tag_63\n /* \"contracts/Staking.sol\":2083:2094 _checkOwner */\n tag_44\n /* \"contracts/Staking.sol\":2083:2096 _checkOwner() */\n jump\t// in\n tag_63:\n /* \"contracts/Staking.sol\":3199:3200 0 */\n 0x00\n /* \"contracts/Staking.sol\":3179:3201 newOwner == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":3179:3187 newOwner */\n dup2\n /* \"contracts/Staking.sol\":3179:3201 newOwner == address(0) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n sub\n /* \"contracts/Staking.sol\":3175:3266 if (newOwner == address(0)) {... */\n tag_65\n jumpi\n /* \"contracts/Staking.sol\":3252:3253 0 */\n 0x00\n /* \"contracts/Staking.sol\":3224:3255 OwnableInvalidOwner(address(0)) */\n mload(0x40)\n 0x1e4fbdf700000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_66\n swap2\n swap1\n tag_27\n jump\t// in\n tag_66:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"contracts/Staking.sol\":3175:3266 if (newOwner == address(0)) {... */\n tag_65:\n /* \"contracts/Staking.sol\":3275:3303 _transferOwnership(newOwner) */\n tag_67\n /* \"contracts/Staking.sol\":3294:3302 newOwner */\n dup2\n /* \"contracts/Staking.sol\":3275:3293 _transferOwnership */\n tag_47\n /* \"contracts/Staking.sol\":3275:3303 _transferOwnership(newOwner) */\n jump\t// in\n tag_67:\n /* \"contracts/Staking.sol\":3095:3310 function transferOwnership(address newOwner) public virtual onlyOwner {... */\n pop\n jump\t// out\n /* \"contracts/Staking.sol\":4389:4722 function withdraw(address _holder, uint256 amount) external onlyOwner {... */\n tag_41:\n /* \"contracts/Staking.sol\":2083:2096 _checkOwner() */\n tag_69\n /* \"contracts/Staking.sol\":2083:2094 _checkOwner */\n tag_44\n /* \"contracts/Staking.sol\":2083:2096 _checkOwner() */\n jump\t// in\n tag_69:\n /* \"contracts/Staking.sol\":4486:4487 0 */\n 0x00\n /* \"contracts/Staking.sol\":4477:4483 amount */\n dup2\n /* \"contracts/Staking.sol\":4477:4487 amount > 0 */\n gt\n /* \"contracts/Staking.sol\":4469:4509 require(amount > 0, \"Cannot withdraw 0\") */\n tag_71\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_72\n swap1\n tag_73\n jump\t// in\n tag_72:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_71:\n /* \"contracts/Staking.sol\":4553:4559 amount */\n dup1\n /* \"contracts/Staking.sol\":4527:4540 stakedBalance */\n 0x03\n /* \"contracts/Staking.sol\":4527:4549 stakedBalance[_holder] */\n 0x00\n /* \"contracts/Staking.sol\":4541:4548 _holder */\n dup5\n /* \"contracts/Staking.sol\":4527:4549 stakedBalance[_holder] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n sload\n /* \"contracts/Staking.sol\":4527:4559 stakedBalance[_holder] >= amount */\n lt\n iszero\n /* \"contracts/Staking.sol\":4519:4584 require(stakedBalance[_holder] >= amount, \"Insufficient Balance\") */\n tag_74\n jumpi\n mload(0x40)\n 0x08c379a000000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_75\n swap1\n tag_76\n jump\t// in\n tag_75:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n tag_74:\n /* \"contracts/Staking.sol\":4620:4626 amount */\n dup1\n /* \"contracts/Staking.sol\":4594:4607 stakedBalance */\n 0x03\n /* \"contracts/Staking.sol\":4594:4616 stakedBalance[_holder] */\n 0x00\n /* \"contracts/Staking.sol\":4608:4615 _holder */\n dup5\n /* \"contracts/Staking.sol\":4594:4616 stakedBalance[_holder] */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n dup2\n mstore\n 0x20\n add\n swap1\n dup2\n mstore\n 0x20\n add\n 0x00\n keccak256\n 0x00\n /* \"contracts/Staking.sol\":4594:4626 stakedBalance[_holder] -= amount */\n dup3\n dup3\n sload\n tag_77\n swap2\n swap1\n tag_78\n jump\t// in\n tag_77:\n swap3\n pop\n pop\n dup2\n swap1\n sstore\n pop\n /* \"contracts/Staking.sol\":4636:4648 stakingToken */\n 0x01\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":4636:4657 stakingToken.transfer */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0xa9059cbb\n /* \"contracts/Staking.sol\":4658:4665 _holder */\n dup4\n /* \"contracts/Staking.sol\":4667:4673 amount */\n dup4\n /* \"contracts/Staking.sol\":4636:4674 stakingToken.transfer(_holder, amount) */\n mload(0x40)\n dup4\n 0xffffffff\n and\n 0xe0\n shl\n dup2\n mstore\n 0x04\n add\n tag_79\n swap3\n swap2\n swap1\n tag_80\n jump\t// in\n tag_79:\n 0x20\n mload(0x40)\n dup1\n dup4\n sub\n dup2\n 0x00\n dup8\n gas\n call\n iszero\n dup1\n iszero\n tag_82\n jumpi\n returndatasize\n 0x00\n dup1\n returndatacopy\n revert(0x00, returndatasize)\n tag_82:\n pop\n pop\n pop\n pop\n mload(0x40)\n returndatasize\n not(0x1f)\n 0x1f\n dup3\n add\n and\n dup3\n add\n dup1\n 0x40\n mstore\n pop\n dup2\n add\n swap1\n tag_83\n swap2\n swap1\n tag_58\n jump\t// in\n tag_83:\n pop\n /* \"contracts/Staking.sol\":4699:4706 _holder */\n dup2\n /* \"contracts/Staking.sol\":4689:4715 Withdrawn(_holder, amount) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5\n /* \"contracts/Staking.sol\":4708:4714 amount */\n dup3\n /* \"contracts/Staking.sol\":4689:4715 Withdrawn(_holder, amount) */\n mload(0x40)\n tag_84\n swap2\n swap1\n tag_17\n jump\t// in\n tag_84:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log2\n /* \"contracts/Staking.sol\":4389:4722 function withdraw(address _holder, uint256 amount) external onlyOwner {... */\n pop\n pop\n jump\t// out\n /* \"contracts/Staking.sol\":2348:2510 function _checkOwner() internal view virtual {... */\n tag_44:\n /* \"contracts/Staking.sol\":2418:2430 _msgSender() */\n tag_86\n /* \"contracts/Staking.sol\":2418:2428 _msgSender */\n tag_87\n /* \"contracts/Staking.sol\":2418:2430 _msgSender() */\n jump\t// in\n tag_86:\n /* \"contracts/Staking.sol\":2407:2430 owner() != _msgSender() */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":2407:2414 owner() */\n tag_88\n /* \"contracts/Staking.sol\":2407:2412 owner */\n tag_25\n /* \"contracts/Staking.sol\":2407:2414 owner() */\n jump\t// in\n tag_88:\n /* \"contracts/Staking.sol\":2407:2430 owner() != _msgSender() */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n eq\n /* \"contracts/Staking.sol\":2403:2504 if (owner() != _msgSender()) {... */\n tag_89\n jumpi\n /* \"contracts/Staking.sol\":2480:2492 _msgSender() */\n tag_90\n /* \"contracts/Staking.sol\":2480:2490 _msgSender */\n tag_87\n /* \"contracts/Staking.sol\":2480:2492 _msgSender() */\n jump\t// in\n tag_90:\n /* \"contracts/Staking.sol\":2453:2493 OwnableUnauthorizedAccount(_msgSender()) */\n mload(0x40)\n 0x118cdaa700000000000000000000000000000000000000000000000000000000\n dup2\n mstore\n 0x04\n add\n tag_91\n swap2\n swap1\n tag_27\n jump\t// in\n tag_91:\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n revert\n /* \"contracts/Staking.sol\":2403:2504 if (owner() != _msgSender()) {... */\n tag_89:\n /* \"contracts/Staking.sol\":2348:2510 function _checkOwner() internal view virtual {... */\n jump\t// out\n /* \"contracts/Staking.sol\":3464:3651 function _transferOwnership(address newOwner) internal virtual {... */\n tag_47:\n /* \"contracts/Staking.sol\":3537:3553 address oldOwner */\n 0x00\n /* \"contracts/Staking.sol\":3556:3562 _owner */\n dup1\n 0x00\n swap1\n sload\n swap1\n 0x0100\n exp\n swap1\n div\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":3537:3562 address oldOwner = _owner */\n swap1\n pop\n /* \"contracts/Staking.sol\":3581:3589 newOwner */\n dup2\n /* \"contracts/Staking.sol\":3572:3578 _owner */\n 0x00\n dup1\n /* \"contracts/Staking.sol\":3572:3589 _owner = newOwner */\n 0x0100\n exp\n dup2\n sload\n dup2\n 0xffffffffffffffffffffffffffffffffffffffff\n mul\n not\n and\n swap1\n dup4\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n mul\n or\n swap1\n sstore\n pop\n /* \"contracts/Staking.sol\":3635:3643 newOwner */\n dup2\n /* \"contracts/Staking.sol\":3604:3644 OwnershipTransferred(oldOwner, newOwner) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n /* \"contracts/Staking.sol\":3625:3633 oldOwner */\n dup2\n /* \"contracts/Staking.sol\":3604:3644 OwnershipTransferred(oldOwner, newOwner) */\n 0xffffffffffffffffffffffffffffffffffffffff\n and\n 0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0\n mload(0x40)\n mload(0x40)\n dup1\n swap2\n sub\n swap1\n log3\n /* \"contracts/Staking.sol\":3527:3651 {... */\n pop\n /* \"contracts/Staking.sol\":3464:3651 function _transferOwnership(address newOwner) internal virtual {... */\n pop\n jump\t// out\n /* \"contracts/Staking.sol\":647:743 function _msgSender() internal view virtual returns (address) {... */\n tag_87:\n /* \"contracts/Staking.sol\":700:707 address */\n 0x00\n /* \"contracts/Staking.sol\":726:736 msg.sender */\n caller\n /* \"contracts/Staking.sol\":719:736 return msg.sender */\n swap1\n pop\n /* \"contracts/Staking.sol\":647:743 function _msgSender() internal view virtual returns (address) {... */\n swap1\n jump\t// out\n /* \"#utility.yul\":88:205 */\n tag_95:\n /* \"#utility.yul\":197:198 */\n 0x00\n /* \"#utility.yul\":194:195 */\n dup1\n /* \"#utility.yul\":187:199 */\n revert\n /* \"#utility.yul\":334:460 */\n tag_97:\n /* \"#utility.yul\":371:378 */\n 0x00\n /* \"#utility.yul\":411:453 */\n 0xffffffffffffffffffffffffffffffffffffffff\n /* \"#utility.yul\":404:409 */\n dup3\n /* \"#utility.yul\":400:454 */\n and\n /* \"#utility.yul\":389:454 */\n swap1\n pop\n /* \"#utility.yul\":334:460 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":466:562 */\n tag_98:\n /* \"#utility.yul\":503:510 */\n 0x00\n /* \"#utility.yul\":532:556 */\n tag_128\n /* \"#utility.yul\":550:555 */\n dup3\n /* \"#utility.yul\":532:556 */\n tag_97\n jump\t// in\n tag_128:\n /* \"#utility.yul\":521:556 */\n swap1\n pop\n /* \"#utility.yul\":466:562 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":568:690 */\n tag_99:\n /* \"#utility.yul\":641:665 */\n tag_130\n /* \"#utility.yul\":659:664 */\n dup2\n /* \"#utility.yul\":641:665 */\n tag_98\n jump\t// in\n tag_130:\n /* \"#utility.yul\":634:639 */\n dup2\n /* \"#utility.yul\":631:666 */\n eq\n /* \"#utility.yul\":621:684 */\n tag_131\n jumpi\n /* \"#utility.yul\":680:681 */\n 0x00\n /* \"#utility.yul\":677:678 */\n dup1\n /* \"#utility.yul\":670:682 */\n revert\n /* \"#utility.yul\":621:684 */\n tag_131:\n /* \"#utility.yul\":568:690 */\n pop\n jump\t// out\n /* \"#utility.yul\":696:835 */\n tag_100:\n /* \"#utility.yul\":742:747 */\n 0x00\n /* \"#utility.yul\":780:786 */\n dup2\n /* \"#utility.yul\":767:787 */\n calldataload\n /* \"#utility.yul\":758:787 */\n swap1\n pop\n /* \"#utility.yul\":796:829 */\n tag_133\n /* \"#utility.yul\":823:828 */\n dup2\n /* \"#utility.yul\":796:829 */\n tag_99\n jump\t// in\n tag_133:\n /* \"#utility.yul\":696:835 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":841:1170 */\n tag_14:\n /* \"#utility.yul\":900:906 */\n 0x00\n /* \"#utility.yul\":949:951 */\n 0x20\n /* \"#utility.yul\":937:946 */\n dup3\n /* \"#utility.yul\":928:935 */\n dup5\n /* \"#utility.yul\":924:947 */\n sub\n /* \"#utility.yul\":920:952 */\n slt\n /* \"#utility.yul\":917:1036 */\n iszero\n tag_135\n jumpi\n /* \"#utility.yul\":955:1034 */\n tag_136\n tag_95\n jump\t// in\n tag_136:\n /* \"#utility.yul\":917:1036 */\n tag_135:\n /* \"#utility.yul\":1075:1076 */\n 0x00\n /* \"#utility.yul\":1100:1153 */\n tag_137\n /* \"#utility.yul\":1145:1152 */\n dup5\n /* \"#utility.yul\":1136:1142 */\n dup3\n /* \"#utility.yul\":1125:1134 */\n dup6\n /* \"#utility.yul\":1121:1143 */\n add\n /* \"#utility.yul\":1100:1153 */\n tag_100\n jump\t// in\n tag_137:\n /* \"#utility.yul\":1090:1153 */\n swap2\n pop\n /* \"#utility.yul\":1046:1163 */\n pop\n /* \"#utility.yul\":841:1170 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1176:1253 */\n tag_101:\n /* \"#utility.yul\":1213:1220 */\n 0x00\n /* \"#utility.yul\":1242:1247 */\n dup2\n /* \"#utility.yul\":1231:1247 */\n swap1\n pop\n /* \"#utility.yul\":1176:1253 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1259:1377 */\n tag_102:\n /* \"#utility.yul\":1346:1370 */\n tag_140\n /* \"#utility.yul\":1364:1369 */\n dup2\n /* \"#utility.yul\":1346:1370 */\n tag_101\n jump\t// in\n tag_140:\n /* \"#utility.yul\":1341:1344 */\n dup3\n /* \"#utility.yul\":1334:1371 */\n mstore\n /* \"#utility.yul\":1259:1377 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1383:1605 */\n tag_17:\n /* \"#utility.yul\":1476:1480 */\n 0x00\n /* \"#utility.yul\":1514:1516 */\n 0x20\n /* \"#utility.yul\":1503:1512 */\n dup3\n /* \"#utility.yul\":1499:1517 */\n add\n /* \"#utility.yul\":1491:1517 */\n swap1\n pop\n /* \"#utility.yul\":1527:1598 */\n tag_142\n /* \"#utility.yul\":1595:1596 */\n 0x00\n /* \"#utility.yul\":1584:1593 */\n dup4\n /* \"#utility.yul\":1580:1597 */\n add\n /* \"#utility.yul\":1571:1577 */\n dup5\n /* \"#utility.yul\":1527:1598 */\n tag_102\n jump\t// in\n tag_142:\n /* \"#utility.yul\":1383:1605 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":1611:1671 */\n tag_103:\n /* \"#utility.yul\":1639:1642 */\n 0x00\n /* \"#utility.yul\":1660:1665 */\n dup2\n /* \"#utility.yul\":1653:1665 */\n swap1\n pop\n /* \"#utility.yul\":1611:1671 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1677:1819 */\n tag_104:\n /* \"#utility.yul\":1727:1736 */\n 0x00\n /* \"#utility.yul\":1760:1813 */\n tag_145\n /* \"#utility.yul\":1778:1812 */\n tag_146\n /* \"#utility.yul\":1787:1811 */\n tag_147\n /* \"#utility.yul\":1805:1810 */\n dup5\n /* \"#utility.yul\":1787:1811 */\n tag_97\n jump\t// in\n tag_147:\n /* \"#utility.yul\":1778:1812 */\n tag_103\n jump\t// in\n tag_146:\n /* \"#utility.yul\":1760:1813 */\n tag_97\n jump\t// in\n tag_145:\n /* \"#utility.yul\":1747:1813 */\n swap1\n pop\n /* \"#utility.yul\":1677:1819 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1825:1951 */\n tag_105:\n /* \"#utility.yul\":1875:1884 */\n 0x00\n /* \"#utility.yul\":1908:1945 */\n tag_149\n /* \"#utility.yul\":1939:1944 */\n dup3\n /* \"#utility.yul\":1908:1945 */\n tag_104\n jump\t// in\n tag_149:\n /* \"#utility.yul\":1895:1945 */\n swap1\n pop\n /* \"#utility.yul\":1825:1951 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":1957:2096 */\n tag_106:\n /* \"#utility.yul\":2020:2029 */\n 0x00\n /* \"#utility.yul\":2053:2090 */\n tag_151\n /* \"#utility.yul\":2084:2089 */\n dup3\n /* \"#utility.yul\":2053:2090 */\n tag_105\n jump\t// in\n tag_151:\n /* \"#utility.yul\":2040:2090 */\n swap1\n pop\n /* \"#utility.yul\":1957:2096 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":2102:2259 */\n tag_107:\n /* \"#utility.yul\":2202:2252 */\n tag_153\n /* \"#utility.yul\":2246:2251 */\n dup2\n /* \"#utility.yul\":2202:2252 */\n tag_106\n jump\t// in\n tag_153:\n /* \"#utility.yul\":2197:2200 */\n dup3\n /* \"#utility.yul\":2190:2253 */\n mstore\n /* \"#utility.yul\":2102:2259 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2265:2513 */\n tag_23:\n /* \"#utility.yul\":2371:2375 */\n 0x00\n /* \"#utility.yul\":2409:2411 */\n 0x20\n /* \"#utility.yul\":2398:2407 */\n dup3\n /* \"#utility.yul\":2394:2412 */\n add\n /* \"#utility.yul\":2386:2412 */\n swap1\n pop\n /* \"#utility.yul\":2422:2506 */\n tag_155\n /* \"#utility.yul\":2503:2504 */\n 0x00\n /* \"#utility.yul\":2492:2501 */\n dup4\n /* \"#utility.yul\":2488:2505 */\n add\n /* \"#utility.yul\":2479:2485 */\n dup5\n /* \"#utility.yul\":2422:2506 */\n tag_107\n jump\t// in\n tag_155:\n /* \"#utility.yul\":2265:2513 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2519:2637 */\n tag_108:\n /* \"#utility.yul\":2606:2630 */\n tag_157\n /* \"#utility.yul\":2624:2629 */\n dup2\n /* \"#utility.yul\":2606:2630 */\n tag_98\n jump\t// in\n tag_157:\n /* \"#utility.yul\":2601:2604 */\n dup3\n /* \"#utility.yul\":2594:2631 */\n mstore\n /* \"#utility.yul\":2519:2637 */\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2643:2865 */\n tag_27:\n /* \"#utility.yul\":2736:2740 */\n 0x00\n /* \"#utility.yul\":2774:2776 */\n 0x20\n /* \"#utility.yul\":2763:2772 */\n dup3\n /* \"#utility.yul\":2759:2777 */\n add\n /* \"#utility.yul\":2751:2777 */\n swap1\n pop\n /* \"#utility.yul\":2787:2858 */\n tag_159\n /* \"#utility.yul\":2855:2856 */\n 0x00\n /* \"#utility.yul\":2844:2853 */\n dup4\n /* \"#utility.yul\":2840:2857 */\n add\n /* \"#utility.yul\":2831:2837 */\n dup5\n /* \"#utility.yul\":2787:2858 */\n tag_108\n jump\t// in\n tag_159:\n /* \"#utility.yul\":2643:2865 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":2871:2993 */\n tag_109:\n /* \"#utility.yul\":2944:2968 */\n tag_161\n /* \"#utility.yul\":2962:2967 */\n dup2\n /* \"#utility.yul\":2944:2968 */\n tag_101\n jump\t// in\n tag_161:\n /* \"#utility.yul\":2937:2942 */\n dup2\n /* \"#utility.yul\":2934:2969 */\n eq\n /* \"#utility.yul\":2924:2987 */\n tag_162\n jumpi\n /* \"#utility.yul\":2983:2984 */\n 0x00\n /* \"#utility.yul\":2980:2981 */\n dup1\n /* \"#utility.yul\":2973:2985 */\n revert\n /* \"#utility.yul\":2924:2987 */\n tag_162:\n /* \"#utility.yul\":2871:2993 */\n pop\n jump\t// out\n /* \"#utility.yul\":2999:3138 */\n tag_110:\n /* \"#utility.yul\":3045:3050 */\n 0x00\n /* \"#utility.yul\":3083:3089 */\n dup2\n /* \"#utility.yul\":3070:3090 */\n calldataload\n /* \"#utility.yul\":3061:3090 */\n swap1\n pop\n /* \"#utility.yul\":3099:3132 */\n tag_164\n /* \"#utility.yul\":3126:3131 */\n dup2\n /* \"#utility.yul\":3099:3132 */\n tag_109\n jump\t// in\n tag_164:\n /* \"#utility.yul\":2999:3138 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3144:3473 */\n tag_30:\n /* \"#utility.yul\":3203:3209 */\n 0x00\n /* \"#utility.yul\":3252:3254 */\n 0x20\n /* \"#utility.yul\":3240:3249 */\n dup3\n /* \"#utility.yul\":3231:3238 */\n dup5\n /* \"#utility.yul\":3227:3250 */\n sub\n /* \"#utility.yul\":3223:3255 */\n slt\n /* \"#utility.yul\":3220:3339 */\n iszero\n tag_166\n jumpi\n /* \"#utility.yul\":3258:3337 */\n tag_167\n tag_95\n jump\t// in\n tag_167:\n /* \"#utility.yul\":3220:3339 */\n tag_166:\n /* \"#utility.yul\":3378:3379 */\n 0x00\n /* \"#utility.yul\":3403:3456 */\n tag_168\n /* \"#utility.yul\":3448:3455 */\n dup5\n /* \"#utility.yul\":3439:3445 */\n dup3\n /* \"#utility.yul\":3428:3437 */\n dup6\n /* \"#utility.yul\":3424:3446 */\n add\n /* \"#utility.yul\":3403:3456 */\n tag_110\n jump\t// in\n tag_168:\n /* \"#utility.yul\":3393:3456 */\n swap2\n pop\n /* \"#utility.yul\":3349:3466 */\n pop\n /* \"#utility.yul\":3144:3473 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":3479:3953 */\n tag_40:\n /* \"#utility.yul\":3547:3553 */\n 0x00\n /* \"#utility.yul\":3555:3561 */\n dup1\n /* \"#utility.yul\":3604:3606 */\n 0x40\n /* \"#utility.yul\":3592:3601 */\n dup4\n /* \"#utility.yul\":3583:3590 */\n dup6\n /* \"#utility.yul\":3579:3602 */\n sub\n /* \"#utility.yul\":3575:3607 */\n slt\n /* \"#utility.yul\":3572:3691 */\n iszero\n tag_170\n jumpi\n /* \"#utility.yul\":3610:3689 */\n tag_171\n tag_95\n jump\t// in\n tag_171:\n /* \"#utility.yul\":3572:3691 */\n tag_170:\n /* \"#utility.yul\":3730:3731 */\n 0x00\n /* \"#utility.yul\":3755:3808 */\n tag_172\n /* \"#utility.yul\":3800:3807 */\n dup6\n /* \"#utility.yul\":3791:3797 */\n dup3\n /* \"#utility.yul\":3780:3789 */\n dup7\n /* \"#utility.yul\":3776:3798 */\n add\n /* \"#utility.yul\":3755:3808 */\n tag_100\n jump\t// in\n tag_172:\n /* \"#utility.yul\":3745:3808 */\n swap3\n pop\n /* \"#utility.yul\":3701:3818 */\n pop\n /* \"#utility.yul\":3857:3859 */\n 0x20\n /* \"#utility.yul\":3883:3936 */\n tag_173\n /* \"#utility.yul\":3928:3935 */\n dup6\n /* \"#utility.yul\":3919:3925 */\n dup3\n /* \"#utility.yul\":3908:3917 */\n dup7\n /* \"#utility.yul\":3904:3926 */\n add\n /* \"#utility.yul\":3883:3936 */\n tag_110\n jump\t// in\n tag_173:\n /* \"#utility.yul\":3873:3936 */\n swap2\n pop\n /* \"#utility.yul\":3828:3946 */\n pop\n /* \"#utility.yul\":3479:3953 */\n swap3\n pop\n swap3\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":3959:4128 */\n tag_111:\n /* \"#utility.yul\":4043:4054 */\n 0x00\n /* \"#utility.yul\":4077:4083 */\n dup3\n /* \"#utility.yul\":4072:4075 */\n dup3\n /* \"#utility.yul\":4065:4084 */\n mstore\n /* \"#utility.yul\":4117:4121 */\n 0x20\n /* \"#utility.yul\":4112:4115 */\n dup3\n /* \"#utility.yul\":4108:4122 */\n add\n /* \"#utility.yul\":4093:4122 */\n swap1\n pop\n /* \"#utility.yul\":3959:4128 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":4134:4298 */\n tag_112:\n /* \"#utility.yul\":4274:4290 */\n 0x43616e6e6f74207374616b652030000000000000000000000000000000000000\n /* \"#utility.yul\":4270:4271 */\n 0x00\n /* \"#utility.yul\":4262:4268 */\n dup3\n /* \"#utility.yul\":4258:4272 */\n add\n /* \"#utility.yul\":4251:4291 */\n mstore\n /* \"#utility.yul\":4134:4298 */\n pop\n jump\t// out\n /* \"#utility.yul\":4304:4670 */\n tag_113:\n /* \"#utility.yul\":4446:4449 */\n 0x00\n /* \"#utility.yul\":4467:4534 */\n tag_177\n /* \"#utility.yul\":4531:4533 */\n 0x0e\n /* \"#utility.yul\":4526:4529 */\n dup4\n /* \"#utility.yul\":4467:4534 */\n tag_111\n jump\t// in\n tag_177:\n /* \"#utility.yul\":4460:4534 */\n swap2\n pop\n /* \"#utility.yul\":4543:4636 */\n tag_178\n /* \"#utility.yul\":4632:4635 */\n dup3\n /* \"#utility.yul\":4543:4636 */\n tag_112\n jump\t// in\n tag_178:\n /* \"#utility.yul\":4661:4663 */\n 0x20\n /* \"#utility.yul\":4656:4659 */\n dup3\n /* \"#utility.yul\":4652:4664 */\n add\n /* \"#utility.yul\":4645:4664 */\n swap1\n pop\n /* \"#utility.yul\":4304:4670 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":4676:5095 */\n tag_52:\n /* \"#utility.yul\":4842:4846 */\n 0x00\n /* \"#utility.yul\":4880:4882 */\n 0x20\n /* \"#utility.yul\":4869:4878 */\n dup3\n /* \"#utility.yul\":4865:4883 */\n add\n /* \"#utility.yul\":4857:4883 */\n swap1\n pop\n /* \"#utility.yul\":4929:4938 */\n dup2\n /* \"#utility.yul\":4923:4927 */\n dup2\n /* \"#utility.yul\":4919:4939 */\n sub\n /* \"#utility.yul\":4915:4916 */\n 0x00\n /* \"#utility.yul\":4904:4913 */\n dup4\n /* \"#utility.yul\":4900:4917 */\n add\n /* \"#utility.yul\":4893:4940 */\n mstore\n /* \"#utility.yul\":4957:5088 */\n tag_180\n /* \"#utility.yul\":5083:5087 */\n dup2\n /* \"#utility.yul\":4957:5088 */\n tag_113\n jump\t// in\n tag_180:\n /* \"#utility.yul\":4949:5088 */\n swap1\n pop\n /* \"#utility.yul\":4676:5095 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5101:5543 */\n tag_54:\n /* \"#utility.yul\":5250:5254 */\n 0x00\n /* \"#utility.yul\":5288:5290 */\n 0x60\n /* \"#utility.yul\":5277:5286 */\n dup3\n /* \"#utility.yul\":5273:5291 */\n add\n /* \"#utility.yul\":5265:5291 */\n swap1\n pop\n /* \"#utility.yul\":5301:5372 */\n tag_182\n /* \"#utility.yul\":5369:5370 */\n 0x00\n /* \"#utility.yul\":5358:5367 */\n dup4\n /* \"#utility.yul\":5354:5371 */\n add\n /* \"#utility.yul\":5345:5351 */\n dup7\n /* \"#utility.yul\":5301:5372 */\n tag_108\n jump\t// in\n tag_182:\n /* \"#utility.yul\":5382:5454 */\n tag_183\n /* \"#utility.yul\":5450:5452 */\n 0x20\n /* \"#utility.yul\":5439:5448 */\n dup4\n /* \"#utility.yul\":5435:5453 */\n add\n /* \"#utility.yul\":5426:5432 */\n dup6\n /* \"#utility.yul\":5382:5454 */\n tag_108\n jump\t// in\n tag_183:\n /* \"#utility.yul\":5464:5536 */\n tag_184\n /* \"#utility.yul\":5532:5534 */\n 0x40\n /* \"#utility.yul\":5521:5530 */\n dup4\n /* \"#utility.yul\":5517:5535 */\n add\n /* \"#utility.yul\":5508:5514 */\n dup5\n /* \"#utility.yul\":5464:5536 */\n tag_102\n jump\t// in\n tag_184:\n /* \"#utility.yul\":5101:5543 */\n swap5\n swap4\n pop\n pop\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5549:5639 */\n tag_114:\n /* \"#utility.yul\":5583:5590 */\n 0x00\n /* \"#utility.yul\":5626:5631 */\n dup2\n /* \"#utility.yul\":5619:5632 */\n iszero\n /* \"#utility.yul\":5612:5633 */\n iszero\n /* \"#utility.yul\":5601:5633 */\n swap1\n pop\n /* \"#utility.yul\":5549:5639 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":5645:5761 */\n tag_115:\n /* \"#utility.yul\":5715:5736 */\n tag_187\n /* \"#utility.yul\":5730:5735 */\n dup2\n /* \"#utility.yul\":5715:5736 */\n tag_114\n jump\t// in\n tag_187:\n /* \"#utility.yul\":5708:5713 */\n dup2\n /* \"#utility.yul\":5705:5737 */\n eq\n /* \"#utility.yul\":5695:5755 */\n tag_188\n jumpi\n /* \"#utility.yul\":5751:5752 */\n 0x00\n /* \"#utility.yul\":5748:5749 */\n dup1\n /* \"#utility.yul\":5741:5753 */\n revert\n /* \"#utility.yul\":5695:5755 */\n tag_188:\n /* \"#utility.yul\":5645:5761 */\n pop\n jump\t// out\n /* \"#utility.yul\":5767:5904 */\n tag_116:\n /* \"#utility.yul\":5821:5826 */\n 0x00\n /* \"#utility.yul\":5852:5858 */\n dup2\n /* \"#utility.yul\":5846:5859 */\n mload\n /* \"#utility.yul\":5837:5859 */\n swap1\n pop\n /* \"#utility.yul\":5868:5898 */\n tag_190\n /* \"#utility.yul\":5892:5897 */\n dup2\n /* \"#utility.yul\":5868:5898 */\n tag_115\n jump\t// in\n tag_190:\n /* \"#utility.yul\":5767:5904 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":5910:6255 */\n tag_58:\n /* \"#utility.yul\":5977:5983 */\n 0x00\n /* \"#utility.yul\":6026:6028 */\n 0x20\n /* \"#utility.yul\":6014:6023 */\n dup3\n /* \"#utility.yul\":6005:6012 */\n dup5\n /* \"#utility.yul\":6001:6024 */\n sub\n /* \"#utility.yul\":5997:6029 */\n slt\n /* \"#utility.yul\":5994:6113 */\n iszero\n tag_192\n jumpi\n /* \"#utility.yul\":6032:6111 */\n tag_193\n tag_95\n jump\t// in\n tag_193:\n /* \"#utility.yul\":5994:6113 */\n tag_192:\n /* \"#utility.yul\":6152:6153 */\n 0x00\n /* \"#utility.yul\":6177:6238 */\n tag_194\n /* \"#utility.yul\":6230:6237 */\n dup5\n /* \"#utility.yul\":6221:6227 */\n dup3\n /* \"#utility.yul\":6210:6219 */\n dup6\n /* \"#utility.yul\":6206:6228 */\n add\n /* \"#utility.yul\":6177:6238 */\n tag_116\n jump\t// in\n tag_194:\n /* \"#utility.yul\":6167:6238 */\n swap2\n pop\n /* \"#utility.yul\":6123:6248 */\n pop\n /* \"#utility.yul\":5910:6255 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6261:6441 */\n tag_117:\n /* \"#utility.yul\":6309:6386 */\n 0x4e487b7100000000000000000000000000000000000000000000000000000000\n /* \"#utility.yul\":6306:6307 */\n 0x00\n /* \"#utility.yul\":6299:6387 */\n mstore\n /* \"#utility.yul\":6406:6410 */\n 0x11\n /* \"#utility.yul\":6403:6404 */\n 0x04\n /* \"#utility.yul\":6396:6411 */\n mstore\n /* \"#utility.yul\":6430:6434 */\n 0x24\n /* \"#utility.yul\":6427:6428 */\n 0x00\n /* \"#utility.yul\":6420:6435 */\n revert\n /* \"#utility.yul\":6447:6638 */\n tag_60:\n /* \"#utility.yul\":6487:6490 */\n 0x00\n /* \"#utility.yul\":6506:6526 */\n tag_197\n /* \"#utility.yul\":6524:6525 */\n dup3\n /* \"#utility.yul\":6506:6526 */\n tag_101\n jump\t// in\n tag_197:\n /* \"#utility.yul\":6501:6526 */\n swap2\n pop\n /* \"#utility.yul\":6540:6560 */\n tag_198\n /* \"#utility.yul\":6558:6559 */\n dup4\n /* \"#utility.yul\":6540:6560 */\n tag_101\n jump\t// in\n tag_198:\n /* \"#utility.yul\":6535:6560 */\n swap3\n pop\n /* \"#utility.yul\":6583:6584 */\n dup3\n /* \"#utility.yul\":6580:6581 */\n dup3\n /* \"#utility.yul\":6576:6585 */\n add\n /* \"#utility.yul\":6569:6585 */\n swap1\n pop\n /* \"#utility.yul\":6604:6607 */\n dup1\n /* \"#utility.yul\":6601:6602 */\n dup3\n /* \"#utility.yul\":6598:6608 */\n gt\n /* \"#utility.yul\":6595:6631 */\n iszero\n tag_199\n jumpi\n /* \"#utility.yul\":6611:6629 */\n tag_200\n tag_117\n jump\t// in\n tag_200:\n /* \"#utility.yul\":6595:6631 */\n tag_199:\n /* \"#utility.yul\":6447:6638 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":6644:6811 */\n tag_118:\n /* \"#utility.yul\":6784:6803 */\n 0x43616e6e6f742077697468647261772030000000000000000000000000000000\n /* \"#utility.yul\":6780:6781 */\n 0x00\n /* \"#utility.yul\":6772:6778 */\n dup3\n /* \"#utility.yul\":6768:6782 */\n add\n /* \"#utility.yul\":6761:6804 */\n mstore\n /* \"#utility.yul\":6644:6811 */\n pop\n jump\t// out\n /* \"#utility.yul\":6817:7183 */\n tag_119:\n /* \"#utility.yul\":6959:6962 */\n 0x00\n /* \"#utility.yul\":6980:7047 */\n tag_203\n /* \"#utility.yul\":7044:7046 */\n 0x11\n /* \"#utility.yul\":7039:7042 */\n dup4\n /* \"#utility.yul\":6980:7047 */\n tag_111\n jump\t// in\n tag_203:\n /* \"#utility.yul\":6973:7047 */\n swap2\n pop\n /* \"#utility.yul\":7056:7149 */\n tag_204\n /* \"#utility.yul\":7145:7148 */\n dup3\n /* \"#utility.yul\":7056:7149 */\n tag_118\n jump\t// in\n tag_204:\n /* \"#utility.yul\":7174:7176 */\n 0x20\n /* \"#utility.yul\":7169:7172 */\n dup3\n /* \"#utility.yul\":7165:7177 */\n add\n /* \"#utility.yul\":7158:7177 */\n swap1\n pop\n /* \"#utility.yul\":6817:7183 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7189:7608 */\n tag_73:\n /* \"#utility.yul\":7355:7359 */\n 0x00\n /* \"#utility.yul\":7393:7395 */\n 0x20\n /* \"#utility.yul\":7382:7391 */\n dup3\n /* \"#utility.yul\":7378:7396 */\n add\n /* \"#utility.yul\":7370:7396 */\n swap1\n pop\n /* \"#utility.yul\":7442:7451 */\n dup2\n /* \"#utility.yul\":7436:7440 */\n dup2\n /* \"#utility.yul\":7432:7452 */\n sub\n /* \"#utility.yul\":7428:7429 */\n 0x00\n /* \"#utility.yul\":7417:7426 */\n dup4\n /* \"#utility.yul\":7413:7430 */\n add\n /* \"#utility.yul\":7406:7453 */\n mstore\n /* \"#utility.yul\":7470:7601 */\n tag_206\n /* \"#utility.yul\":7596:7600 */\n dup2\n /* \"#utility.yul\":7470:7601 */\n tag_119\n jump\t// in\n tag_206:\n /* \"#utility.yul\":7462:7601 */\n swap1\n pop\n /* \"#utility.yul\":7189:7608 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":7614:7784 */\n tag_120:\n /* \"#utility.yul\":7754:7776 */\n 0x496e73756666696369656e742042616c616e6365000000000000000000000000\n /* \"#utility.yul\":7750:7751 */\n 0x00\n /* \"#utility.yul\":7742:7748 */\n dup3\n /* \"#utility.yul\":7738:7752 */\n add\n /* \"#utility.yul\":7731:7777 */\n mstore\n /* \"#utility.yul\":7614:7784 */\n pop\n jump\t// out\n /* \"#utility.yul\":7790:8156 */\n tag_121:\n /* \"#utility.yul\":7932:7935 */\n 0x00\n /* \"#utility.yul\":7953:8020 */\n tag_209\n /* \"#utility.yul\":8017:8019 */\n 0x14\n /* \"#utility.yul\":8012:8015 */\n dup4\n /* \"#utility.yul\":7953:8020 */\n tag_111\n jump\t// in\n tag_209:\n /* \"#utility.yul\":7946:8020 */\n swap2\n pop\n /* \"#utility.yul\":8029:8122 */\n tag_210\n /* \"#utility.yul\":8118:8121 */\n dup3\n /* \"#utility.yul\":8029:8122 */\n tag_120\n jump\t// in\n tag_210:\n /* \"#utility.yul\":8147:8149 */\n 0x20\n /* \"#utility.yul\":8142:8145 */\n dup3\n /* \"#utility.yul\":8138:8150 */\n add\n /* \"#utility.yul\":8131:8150 */\n swap1\n pop\n /* \"#utility.yul\":7790:8156 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8162:8581 */\n tag_76:\n /* \"#utility.yul\":8328:8332 */\n 0x00\n /* \"#utility.yul\":8366:8368 */\n 0x20\n /* \"#utility.yul\":8355:8364 */\n dup3\n /* \"#utility.yul\":8351:8369 */\n add\n /* \"#utility.yul\":8343:8369 */\n swap1\n pop\n /* \"#utility.yul\":8415:8424 */\n dup2\n /* \"#utility.yul\":8409:8413 */\n dup2\n /* \"#utility.yul\":8405:8425 */\n sub\n /* \"#utility.yul\":8401:8402 */\n 0x00\n /* \"#utility.yul\":8390:8399 */\n dup4\n /* \"#utility.yul\":8386:8403 */\n add\n /* \"#utility.yul\":8379:8426 */\n mstore\n /* \"#utility.yul\":8443:8574 */\n tag_212\n /* \"#utility.yul\":8569:8573 */\n dup2\n /* \"#utility.yul\":8443:8574 */\n tag_121\n jump\t// in\n tag_212:\n /* \"#utility.yul\":8435:8574 */\n swap1\n pop\n /* \"#utility.yul\":8162:8581 */\n swap2\n swap1\n pop\n jump\t// out\n /* \"#utility.yul\":8587:8781 */\n tag_78:\n /* \"#utility.yul\":8627:8631 */\n 0x00\n /* \"#utility.yul\":8647:8667 */\n tag_214\n /* \"#utility.yul\":8665:8666 */\n dup3\n /* \"#utility.yul\":8647:8667 */\n tag_101\n jump\t// in\n tag_214:\n /* \"#utility.yul\":8642:8667 */\n swap2\n pop\n /* \"#utility.yul\":8681:8701 */\n tag_215\n /* \"#utility.yul\":8699:8700 */\n dup4\n /* \"#utility.yul\":8681:8701 */\n tag_101\n jump\t// in\n tag_215:\n /* \"#utility.yul\":8676:8701 */\n swap3\n pop\n /* \"#utility.yul\":8725:8726 */\n dup3\n /* \"#utility.yul\":8722:8723 */\n dup3\n /* \"#utility.yul\":8718:8727 */\n sub\n /* \"#utility.yul\":8710:8727 */\n swap1\n pop\n /* \"#utility.yul\":8749:8750 */\n dup2\n /* \"#utility.yul\":8743:8747 */\n dup2\n /* \"#utility.yul\":8740:8751 */\n gt\n /* \"#utility.yul\":8737:8774 */\n iszero\n tag_216\n jumpi\n /* \"#utility.yul\":8754:8772 */\n tag_217\n tag_117\n jump\t// in\n tag_217:\n /* \"#utility.yul\":8737:8774 */\n tag_216:\n /* \"#utility.yul\":8587:8781 */\n swap3\n swap2\n pop\n pop\n jump\t// out\n /* \"#utility.yul\":8787:9119 */\n tag_80:\n /* \"#utility.yul\":8908:8912 */\n 0x00\n /* \"#utility.yul\":8946:8948 */\n 0x40\n /* \"#utility.yul\":8935:8944 */\n dup3\n /* \"#utility.yul\":8931:8949 */\n add\n /* \"#utility.yul\":8923:8949 */\n swap1\n pop\n /* \"#utility.yul\":8959:9030 */\n tag_219\n /* \"#utility.yul\":9027:9028 */\n 0x00\n /* \"#utility.yul\":9016:9025 */\n dup4\n /* \"#utility.yul\":9012:9029 */\n add\n /* \"#utility.yul\":9003:9009 */\n dup6\n /* \"#utility.yul\":8959:9030 */\n tag_108\n jump\t// in\n tag_219:\n /* \"#utility.yul\":9040:9112 */\n tag_220\n /* \"#utility.yul\":9108:9110 */\n 0x20\n /* \"#utility.yul\":9097:9106 */\n dup4\n /* \"#utility.yul\":9093:9111 */\n add\n /* \"#utility.yul\":9084:9090 */\n dup5\n /* \"#utility.yul\":9040:9112 */\n tag_102\n jump\t// in\n tag_220:\n /* \"#utility.yul\":8787:9119 */\n swap4\n swap3\n pop\n pop\n pop\n jump\t// out\n\n auxdata: 0xa264697066735822122042a95abbf08960a6e61ddfd7c62b71e82174fa209b0bf57f470cc20850c2ba9c64736f6c63430008140033\n}\n",
"bytecode": {
"functionDebugData": {
"@_131": {
"entryPoint": null,
"id": 131,
"parameterSlots": 0,
"returnSlots": 0
},
"@_268": {
"entryPoint": null,
"id": 268,
"parameterSlots": 1,
"returnSlots": 0
},
"@_transferOwnership_227": {
"entryPoint": 141,
"id": 227,
"parameterSlots": 1,
"returnSlots": 0
},
"abi_decode_t_address_fromMemory": {
"entryPoint": 408,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address_fromMemory": {
"entryPoint": 428,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 369,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 338,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 334,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 386,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:1199:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:2"
},
"nodeType": "YulFunctionCall",
"src": "400:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:2"
},
"nodeType": "YulFunctionCall",
"src": "532:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:2",
"type": ""
}
],
"src": "466:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:2"
},
"nodeType": "YulFunctionCall",
"src": "670:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:2"
},
"nodeType": "YulFunctionCall",
"src": "641:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:2"
},
"nodeType": "YulFunctionCall",
"src": "631:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:2"
},
"nodeType": "YulFunctionCall",
"src": "624:43:2"
},
"nodeType": "YulIf",
"src": "621:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:2",
"type": ""
}
],
"src": "568:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "759:80:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "769:22:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "784:6:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "778:5:2"
},
"nodeType": "YulFunctionCall",
"src": "778:13:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "769:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "827:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "800:26:2"
},
"nodeType": "YulFunctionCall",
"src": "800:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "800:33:2"
}
]
},
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "737:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "745:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "753:5:2",
"type": ""
}
],
"src": "696:143:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "922:274:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "968:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "970:77:2"
},
"nodeType": "YulFunctionCall",
"src": "970:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "970:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "943:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "952:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "939:3:2"
},
"nodeType": "YulFunctionCall",
"src": "939:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "964:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "935:3:2"
},
"nodeType": "YulFunctionCall",
"src": "935:32:2"
},
"nodeType": "YulIf",
"src": "932:119:2"
},
{
"nodeType": "YulBlock",
"src": "1061:128:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1076:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1090:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1080:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1105:74:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1151:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1162:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1147:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1147:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1171:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address_fromMemory",
"nodeType": "YulIdentifier",
"src": "1115:31:2"
},
"nodeType": "YulFunctionCall",
"src": "1115:64:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1105:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "892:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "903:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "915:6:2",
"type": ""
}
],
"src": "845:351:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b50604051610dea380380610dea833981810160405281019061003191906101ac565b6100403361008d60201b60201c565b8060015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600281905550506101d7565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61017b82610152565b9050919050565b61018b81610171565b8114610195575f80fd5b50565b5f815190506101a681610182565b92915050565b5f602082840312156101c1576101c061014e565b5b5f6101ce84828501610198565b91505092915050565b610c06806101e45f395ff3fe608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063a694fc3a11610059578063a694fc3a14610100578063c8f33c911461011c578063f2fde38b1461013a578063f3fef3a31461015657610086565b8063602172671461008a578063715018a6146100ba57806372f702f3146100c45780638da5cb5b146100e2575b5f80fd5b6100a4600480360381019061009f91906107ae565b610172565b6040516100b191906107f1565b60405180910390f35b6100c2610187565b005b6100cc61019a565b6040516100d99190610865565b60405180910390f35b6100ea6101bf565b6040516100f7919061088d565b60405180910390f35b61011a600480360381019061011591906108d0565b6101e6565b005b61012461036b565b60405161013191906107f1565b60405180910390f35b610154600480360381019061014f91906107ae565b610371565b005b610170600480360381019061016b91906108fb565b6103f5565b005b6003602052805f5260405f205f915090505481565b61018f610601565b6101985f610688565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8111610228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021f90610993565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610286939291906109b1565b6020604051808303815f875af11580156102a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c69190610a1b565b508060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103139190610a73565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d8260405161036091906107f1565b60405180910390a250565b60025481565b610379610601565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103e9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016103e0919061088d565b60405180910390fd5b6103f281610688565b50565b6103fd610601565b5f811161043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043690610af0565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b690610b58565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461050b9190610b76565b9250508190555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161056e929190610ba9565b6020604051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190610a1b565b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516105f591906107f1565b60405180910390a25050565b610609610749565b73ffffffffffffffffffffffffffffffffffffffff166106276101bf565b73ffffffffffffffffffffffffffffffffffffffff16146106865761064a610749565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161067d919061088d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61077d82610754565b9050919050565b61078d81610773565b8114610797575f80fd5b50565b5f813590506107a881610784565b92915050565b5f602082840312156107c3576107c2610750565b5b5f6107d08482850161079a565b91505092915050565b5f819050919050565b6107eb816107d9565b82525050565b5f6020820190506108045f8301846107e2565b92915050565b5f819050919050565b5f61082d61082861082384610754565b61080a565b610754565b9050919050565b5f61083e82610813565b9050919050565b5f61084f82610834565b9050919050565b61085f81610845565b82525050565b5f6020820190506108785f830184610856565b92915050565b61088781610773565b82525050565b5f6020820190506108a05f83018461087e565b92915050565b6108af816107d9565b81146108b9575f80fd5b50565b5f813590506108ca816108a6565b92915050565b5f602082840312156108e5576108e4610750565b5b5f6108f2848285016108bc565b91505092915050565b5f806040838503121561091157610910610750565b5b5f61091e8582860161079a565b925050602061092f858286016108bc565b9150509250929050565b5f82825260208201905092915050565b7f43616e6e6f74207374616b6520300000000000000000000000000000000000005f82015250565b5f61097d600e83610939565b915061098882610949565b602082019050919050565b5f6020820190508181035f8301526109aa81610971565b9050919050565b5f6060820190506109c45f83018661087e565b6109d1602083018561087e565b6109de60408301846107e2565b949350505050565b5f8115159050919050565b6109fa816109e6565b8114610a04575f80fd5b50565b5f81519050610a15816109f1565b92915050565b5f60208284031215610a3057610a2f610750565b5b5f610a3d84828501610a07565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610a7d826107d9565b9150610a88836107d9565b9250828201905080821115610aa057610a9f610a46565b5b92915050565b7f43616e6e6f7420776974686472617720300000000000000000000000000000005f82015250565b5f610ada601183610939565b9150610ae582610aa6565b602082019050919050565b5f6020820190508181035f830152610b0781610ace565b9050919050565b7f496e73756666696369656e742042616c616e63650000000000000000000000005f82015250565b5f610b42601483610939565b9150610b4d82610b0e565b602082019050919050565b5f6020820190508181035f830152610b6f81610b36565b9050919050565b5f610b80826107d9565b9150610b8b836107d9565b9250828203905081811115610ba357610ba2610a46565b5b92915050565b5f604082019050610bbc5f83018561087e565b610bc960208301846107e2565b939250505056fea264697066735822122042a95abbf08960a6e61ddfd7c62b71e82174fa209b0bf57f470cc20850c2ba9c64736f6c63430008140033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xDEA CODESIZE SUB DUP1 PUSH2 0xDEA DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH2 0x31 SWAP2 SWAP1 PUSH2 0x1AC JUMP JUMPDEST PUSH2 0x40 CALLER PUSH2 0x8D PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP TIMESTAMP PUSH1 0x2 DUP2 SWAP1 SSTORE POP POP PUSH2 0x1D7 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x17B DUP3 PUSH2 0x152 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x18B DUP2 PUSH2 0x171 JUMP JUMPDEST DUP2 EQ PUSH2 0x195 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0x1A6 DUP2 PUSH2 0x182 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1C1 JUMPI PUSH2 0x1C0 PUSH2 0x14E JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x1CE DUP5 DUP3 DUP6 ADD PUSH2 0x198 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC06 DUP1 PUSH2 0x1E4 PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x86 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA694FC3A GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xA694FC3A EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0xC8F33C91 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xF3FEF3A3 EQ PUSH2 0x156 JUMPI PUSH2 0x86 JUMP JUMPDEST DUP1 PUSH4 0x60217267 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xBA JUMPI DUP1 PUSH4 0x72F702F3 EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x172 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB1 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC2 PUSH2 0x187 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCC PUSH2 0x19A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x865 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x1E6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x124 PUSH2 0x36B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x154 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16B SWAP2 SWAP1 PUSH2 0x8FB JUMP JUMPDEST PUSH2 0x3F5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0x18F PUSH2 0x601 JUMP JUMPDEST PUSH2 0x198 PUSH0 PUSH2 0x688 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x228 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21F SWAP1 PUSH2 0x993 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x286 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9B1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2A2 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP1 PUSH1 0x3 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x313 SWAP2 SWAP1 PUSH2 0xA73 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x9E71BC8EEA02A63969F509818F2DAFB9254532904319F9DBDA79B67BD34A5F3D DUP3 PUSH1 0x40 MLOAD PUSH2 0x360 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x379 PUSH2 0x601 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x3E9 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E0 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F2 DUP2 PUSH2 0x688 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x3FD PUSH2 0x601 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x43F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x436 SWAP1 PUSH2 0xAF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x4BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4B6 SWAP1 PUSH2 0xB58 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x50B SWAP2 SWAP1 PUSH2 0xB76 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56E SWAP3 SWAP2 SWAP1 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x5F5 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x609 PUSH2 0x749 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x627 PUSH2 0x1BF JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x686 JUMPI PUSH2 0x64A PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x67D SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x77D DUP3 PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x78D DUP2 PUSH2 0x773 JUMP JUMPDEST DUP2 EQ PUSH2 0x797 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7A8 DUP2 PUSH2 0x784 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x7D0 DUP5 DUP3 DUP6 ADD PUSH2 0x79A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7EB DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x804 PUSH0 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x82D PUSH2 0x828 PUSH2 0x823 DUP5 PUSH2 0x754 JUMP JUMPDEST PUSH2 0x80A JUMP JUMPDEST PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x83E DUP3 PUSH2 0x813 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x84F DUP3 PUSH2 0x834 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85F DUP2 PUSH2 0x845 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x878 PUSH0 DUP4 ADD DUP5 PUSH2 0x856 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x887 DUP2 PUSH2 0x773 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8A0 PUSH0 DUP4 ADD DUP5 PUSH2 0x87E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8AF DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP2 EQ PUSH2 0x8B9 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x8CA DUP2 PUSH2 0x8A6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8E5 JUMPI PUSH2 0x8E4 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x8F2 DUP5 DUP3 DUP6 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x911 JUMPI PUSH2 0x910 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x91E DUP6 DUP3 DUP7 ADD PUSH2 0x79A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x92F DUP6 DUP3 DUP7 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207374616B652030000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x97D PUSH1 0xE DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0x988 DUP3 PUSH2 0x949 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x9AA DUP2 PUSH2 0x971 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x9C4 PUSH0 DUP4 ADD DUP7 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9D1 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9DE PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FA DUP2 PUSH2 0x9E6 JUMP JUMPDEST DUP2 EQ PUSH2 0xA04 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xA15 DUP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA2F PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA3D DUP5 DUP3 DUP6 ADD PUSH2 0xA07 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xA7D DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xA88 DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xAA0 JUMPI PUSH2 0xA9F PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F742077697468647261772030000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xADA PUSH1 0x11 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xAE5 DUP3 PUSH2 0xAA6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB07 DUP2 PUSH2 0xACE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742042616C616E6365000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xB42 PUSH1 0x14 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xB4D DUP3 PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB6F DUP2 PUSH2 0xB36 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xB80 DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xB8B DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xBA3 JUMPI PUSH2 0xBA2 PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xBBC PUSH0 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0xBC9 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 TIMESTAMP 0xA9 GAS 0xBB CREATE DUP10 PUSH1 0xA6 0xE6 SAR 0xDF 0xD7 0xC6 0x2B PUSH18 0xE82174FA209B0BF57F470CC20850C2BA9C64 PUSH20 0x6F6C634300081400330000000000000000000000 ",
"sourceMap": "3657:1067:1:-:0;;;3997:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1927:30;1946:10;1927:18;;;:30;;:::i;:::-;4064:13;4042:12;;:36;;;;;;;;;;;;;;;;;;4105:15;4088:14;:32;;;;3997:130;3657:1067;;3464:187;3537:16;3556:6;;;;;;;;;;;3537:25;;3581:8;3572:6;;:17;;;;;;;;;;;;;;;;;;3635:8;3604:40;;3625:8;3604:40;;;;;;;;;;;;3527:124;3464:187;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:143::-;753:5;784:6;778:13;769:22;;800:33;827:5;800:33;:::i;:::-;696:143;;;;:::o;845:351::-;915:6;964:2;952:9;943:7;939:23;935:32;932:119;;;970:79;;:::i;:::-;932:119;1090:1;1115:64;1171:7;1162:6;1151:9;1147:22;1115:64;:::i;:::-;1105:74;;1061:128;845:351;;;;:::o;3657:1067:1:-;;;;;;;"
},
"deployedBytecode": {
"functionDebugData": {
"@_checkOwner_165": {
"entryPoint": 1537,
"id": 165,
"parameterSlots": 0,
"returnSlots": 0
},
"@_msgSender_90": {
"entryPoint": 1865,
"id": 90,
"parameterSlots": 0,
"returnSlots": 1
},
"@_transferOwnership_227": {
"entryPoint": 1672,
"id": 227,
"parameterSlots": 1,
"returnSlots": 0
},
"@lastUpdateTime_235": {
"entryPoint": 875,
"id": 235,
"parameterSlots": 0,
"returnSlots": 0
},
"@owner_148": {
"entryPoint": 447,
"id": 148,
"parameterSlots": 0,
"returnSlots": 1
},
"@renounceOwnership_179": {
"entryPoint": 391,
"id": 179,
"parameterSlots": 0,
"returnSlots": 0
},
"@stake_306": {
"entryPoint": 486,
"id": 306,
"parameterSlots": 1,
"returnSlots": 0
},
"@stakedBalance_239": {
"entryPoint": 370,
"id": 239,
"parameterSlots": 0,
"returnSlots": 0
},
"@stakingToken_233": {
"entryPoint": 410,
"id": 233,
"parameterSlots": 0,
"returnSlots": 0
},
"@transferOwnership_207": {
"entryPoint": 881,
"id": 207,
"parameterSlots": 1,
"returnSlots": 0
},
"@withdraw_350": {
"entryPoint": 1013,
"id": 350,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_decode_t_address": {
"entryPoint": 1946,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_bool_fromMemory": {
"entryPoint": 2567,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_t_uint256": {
"entryPoint": 2236,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_address": {
"entryPoint": 1966,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_addresst_uint256": {
"entryPoint": 2299,
"id": null,
"parameterSlots": 2,
"returnSlots": 2
},
"abi_decode_tuple_t_bool_fromMemory": {
"entryPoint": 2587,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_decode_tuple_t_uint256": {
"entryPoint": 2256,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_t_address_to_t_address_fromStack": {
"entryPoint": 2174,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack": {
"entryPoint": 2134,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2417,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2766,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack": {
"entryPoint": 2870,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_t_uint256_to_t_uint256_fromStack": {
"entryPoint": 2018,
"id": null,
"parameterSlots": 2,
"returnSlots": 0
},
"abi_encode_tuple_t_address__to_t_address__fromStack_reversed": {
"entryPoint": 2189,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2481,
"id": null,
"parameterSlots": 4,
"returnSlots": 1
},
"abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": {
"entryPoint": 2985,
"id": null,
"parameterSlots": 3,
"returnSlots": 1
},
"abi_encode_tuple_t_contract$_IERC20_$77__to_t_address__fromStack_reversed": {
"entryPoint": 2149,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2451,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2800,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82__to_t_string_memory_ptr__fromStack_reversed": {
"entryPoint": 2904,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
"entryPoint": 2033,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"allocate_unbounded": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 1
},
"array_storeLengthForEncoding_t_string_memory_ptr_fromStack": {
"entryPoint": 2361,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_add_t_uint256": {
"entryPoint": 2675,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"checked_sub_t_uint256": {
"entryPoint": 2934,
"id": null,
"parameterSlots": 2,
"returnSlots": 1
},
"cleanup_t_address": {
"entryPoint": 1907,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_bool": {
"entryPoint": 2534,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint160": {
"entryPoint": 1876,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"cleanup_t_uint256": {
"entryPoint": 2009,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_contract$_IERC20_$77_to_t_address": {
"entryPoint": 2117,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_address": {
"entryPoint": 2100,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"convert_t_uint160_to_t_uint160": {
"entryPoint": 2067,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"identity": {
"entryPoint": 2058,
"id": null,
"parameterSlots": 1,
"returnSlots": 1
},
"panic_error_0x11": {
"entryPoint": 2630,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
"entryPoint": null,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
"entryPoint": 1872,
"id": null,
"parameterSlots": 0,
"returnSlots": 0
},
"store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab": {
"entryPoint": 2377,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0": {
"entryPoint": 2726,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82": {
"entryPoint": 2830,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_address": {
"entryPoint": 1924,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_bool": {
"entryPoint": 2545,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
},
"validator_revert_t_uint256": {
"entryPoint": 2214,
"id": null,
"parameterSlots": 1,
"returnSlots": 0
}
},
"generatedSources": [
{
"ast": {
"nodeType": "YulBlock",
"src": "0:9122:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "47:35:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "57:19:2",
"value": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "73:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "67:5:2"
},
"nodeType": "YulFunctionCall",
"src": "67:9:2"
},
"variableNames": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "57:6:2"
}
]
}
]
},
"name": "allocate_unbounded",
"nodeType": "YulFunctionDefinition",
"returnVariables": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "40:6:2",
"type": ""
}
],
"src": "7:75:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "177:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "194:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "197:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "187:6:2"
},
"nodeType": "YulFunctionCall",
"src": "187:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "187:12:2"
}
]
},
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulFunctionDefinition",
"src": "88:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "300:28:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "317:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "320:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "310:6:2"
},
"nodeType": "YulFunctionCall",
"src": "310:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "310:12:2"
}
]
},
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
"nodeType": "YulFunctionDefinition",
"src": "211:117:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "379:81:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "389:65:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "404:5:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "411:42:2",
"type": "",
"value": "0xffffffffffffffffffffffffffffffffffffffff"
}
],
"functionName": {
"name": "and",
"nodeType": "YulIdentifier",
"src": "400:3:2"
},
"nodeType": "YulFunctionCall",
"src": "400:54:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "389:7:2"
}
]
}
]
},
"name": "cleanup_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "361:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "371:7:2",
"type": ""
}
],
"src": "334:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "511:51:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "521:35:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "550:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "532:17:2"
},
"nodeType": "YulFunctionCall",
"src": "532:24:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "521:7:2"
}
]
}
]
},
"name": "cleanup_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "493:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "503:7:2",
"type": ""
}
],
"src": "466:96:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "611:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "668:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "677:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "680:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "670:6:2"
},
"nodeType": "YulFunctionCall",
"src": "670:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "670:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "634:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "659:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "641:17:2"
},
"nodeType": "YulFunctionCall",
"src": "641:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "631:2:2"
},
"nodeType": "YulFunctionCall",
"src": "631:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "624:6:2"
},
"nodeType": "YulFunctionCall",
"src": "624:43:2"
},
"nodeType": "YulIf",
"src": "621:63:2"
}
]
},
"name": "validator_revert_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "604:5:2",
"type": ""
}
],
"src": "568:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "748:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "758:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "780:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "767:12:2"
},
"nodeType": "YulFunctionCall",
"src": "767:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "758:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "823:5:2"
}
],
"functionName": {
"name": "validator_revert_t_address",
"nodeType": "YulIdentifier",
"src": "796:26:2"
},
"nodeType": "YulFunctionCall",
"src": "796:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "796:33:2"
}
]
},
"name": "abi_decode_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "726:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "734:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "742:5:2",
"type": ""
}
],
"src": "696:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "907:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "953:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "955:77:2"
},
"nodeType": "YulFunctionCall",
"src": "955:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "955:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "928:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "937:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "924:3:2"
},
"nodeType": "YulFunctionCall",
"src": "924:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "949:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "920:3:2"
},
"nodeType": "YulFunctionCall",
"src": "920:32:2"
},
"nodeType": "YulIf",
"src": "917:119:2"
},
{
"nodeType": "YulBlock",
"src": "1046:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "1061:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "1075:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "1065:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "1090:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1125:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "1136:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1121:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1121:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "1145:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "1100:20:2"
},
"nodeType": "YulFunctionCall",
"src": "1100:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1090:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "877:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "888:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "900:6:2",
"type": ""
}
],
"src": "841:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1221:32:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1231:16:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1242:5:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "1231:7:2"
}
]
}
]
},
"name": "cleanup_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1203:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "1213:7:2",
"type": ""
}
],
"src": "1176:77:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1324:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "1341:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1364:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "1346:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1346:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "1334:6:2"
},
"nodeType": "YulFunctionCall",
"src": "1334:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "1334:37:2"
}
]
},
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1312:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "1319:3:2",
"type": ""
}
],
"src": "1259:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1481:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1491:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1503:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1514:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1499:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1499:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "1491:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "1571:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "1584:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "1595:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "1580:3:2"
},
"nodeType": "YulFunctionCall",
"src": "1580:17:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "1527:43:2"
},
"nodeType": "YulFunctionCall",
"src": "1527:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "1527:71:2"
}
]
},
"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "1453:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "1465:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "1476:4:2",
"type": ""
}
],
"src": "1383:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1643:28:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1653:12:2",
"value": {
"name": "value",
"nodeType": "YulIdentifier",
"src": "1660:5:2"
},
"variableNames": [
{
"name": "ret",
"nodeType": "YulIdentifier",
"src": "1653:3:2"
}
]
}
]
},
"name": "identity",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1629:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "ret",
"nodeType": "YulTypedName",
"src": "1639:3:2",
"type": ""
}
],
"src": "1611:60:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1737:82:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1747:66:2",
"value": {
"arguments": [
{
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1805:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1787:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1787:24:2"
}
],
"functionName": {
"name": "identity",
"nodeType": "YulIdentifier",
"src": "1778:8:2"
},
"nodeType": "YulFunctionCall",
"src": "1778:34:2"
}
],
"functionName": {
"name": "cleanup_t_uint160",
"nodeType": "YulIdentifier",
"src": "1760:17:2"
},
"nodeType": "YulFunctionCall",
"src": "1760:53:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1747:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1717:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1727:9:2",
"type": ""
}
],
"src": "1677:142:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "1885:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "1895:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "1939:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_uint160",
"nodeType": "YulIdentifier",
"src": "1908:30:2"
},
"nodeType": "YulFunctionCall",
"src": "1908:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "1895:9:2"
}
]
}
]
},
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "1865:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "1875:9:2",
"type": ""
}
],
"src": "1825:126:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2030:66:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2040:50:2",
"value": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2084:5:2"
}
],
"functionName": {
"name": "convert_t_uint160_to_t_address",
"nodeType": "YulIdentifier",
"src": "2053:30:2"
},
"nodeType": "YulFunctionCall",
"src": "2053:37:2"
},
"variableNames": [
{
"name": "converted",
"nodeType": "YulIdentifier",
"src": "2040:9:2"
}
]
}
]
},
"name": "convert_t_contract$_IERC20_$77_to_t_address",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2010:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "converted",
"nodeType": "YulTypedName",
"src": "2020:9:2",
"type": ""
}
],
"src": "1957:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2180:79:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2197:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2246:5:2"
}
],
"functionName": {
"name": "convert_t_contract$_IERC20_$77_to_t_address",
"nodeType": "YulIdentifier",
"src": "2202:43:2"
},
"nodeType": "YulFunctionCall",
"src": "2202:50:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2190:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2190:63:2"
},
"nodeType": "YulExpressionStatement",
"src": "2190:63:2"
}
]
},
"name": "abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2168:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2175:3:2",
"type": ""
}
],
"src": "2102:157:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2376:137:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2386:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2398:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2409:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2394:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2394:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2386:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2479:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2492:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2503:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2488:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2488:17:2"
}
],
"functionName": {
"name": "abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2422:56:2"
},
"nodeType": "YulFunctionCall",
"src": "2422:84:2"
},
"nodeType": "YulExpressionStatement",
"src": "2422:84:2"
}
]
},
"name": "abi_encode_tuple_t_contract$_IERC20_$77__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2348:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2360:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2371:4:2",
"type": ""
}
],
"src": "2265:248:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2584:53:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "2601:3:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2624:5:2"
}
],
"functionName": {
"name": "cleanup_t_address",
"nodeType": "YulIdentifier",
"src": "2606:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2606:24:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "2594:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2594:37:2"
},
"nodeType": "YulExpressionStatement",
"src": "2594:37:2"
}
]
},
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2572:5:2",
"type": ""
},
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "2579:3:2",
"type": ""
}
],
"src": "2519:118:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2741:124:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "2751:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2763:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2774:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2759:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2759:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "2751:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "2831:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "2844:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2855:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "2840:3:2"
},
"nodeType": "YulFunctionCall",
"src": "2840:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "2787:43:2"
},
"nodeType": "YulFunctionCall",
"src": "2787:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "2787:71:2"
}
]
},
"name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "2713:9:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "2725:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "2736:4:2",
"type": ""
}
],
"src": "2643:222:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "2914:79:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "2971:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2980:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "2983:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "2973:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2973:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "2973:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2937:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "2962:5:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "2944:17:2"
},
"nodeType": "YulFunctionCall",
"src": "2944:24:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "2934:2:2"
},
"nodeType": "YulFunctionCall",
"src": "2934:35:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "2927:6:2"
},
"nodeType": "YulFunctionCall",
"src": "2927:43:2"
},
"nodeType": "YulIf",
"src": "2924:63:2"
}
]
},
"name": "validator_revert_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "2907:5:2",
"type": ""
}
],
"src": "2871:122:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3051:87:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "3061:29:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3083:6:2"
}
],
"functionName": {
"name": "calldataload",
"nodeType": "YulIdentifier",
"src": "3070:12:2"
},
"nodeType": "YulFunctionCall",
"src": "3070:20:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3061:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "3126:5:2"
}
],
"functionName": {
"name": "validator_revert_t_uint256",
"nodeType": "YulIdentifier",
"src": "3099:26:2"
},
"nodeType": "YulFunctionCall",
"src": "3099:33:2"
},
"nodeType": "YulExpressionStatement",
"src": "3099:33:2"
}
]
},
"name": "abi_decode_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3029:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "3037:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "3045:5:2",
"type": ""
}
],
"src": "2999:139:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3210:263:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3256:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3258:77:2"
},
"nodeType": "YulFunctionCall",
"src": "3258:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "3258:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3231:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3240:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3227:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3227:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3252:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3223:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3223:32:2"
},
"nodeType": "YulIf",
"src": "3220:119:2"
},
{
"nodeType": "YulBlock",
"src": "3349:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3364:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3378:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3368:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3393:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3428:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3439:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3424:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3424:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3448:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3403:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3403:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3393:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3180:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3191:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3203:6:2",
"type": ""
}
],
"src": "3144:329:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "3562:391:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "3608:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "3610:77:2"
},
"nodeType": "YulFunctionCall",
"src": "3610:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "3610:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3583:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3592:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "3579:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3579:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "3604:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "3575:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3575:32:2"
},
"nodeType": "YulIf",
"src": "3572:119:2"
},
{
"nodeType": "YulBlock",
"src": "3701:117:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3716:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3730:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3720:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3745:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3780:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3791:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3776:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3776:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3800:7:2"
}
],
"functionName": {
"name": "abi_decode_t_address",
"nodeType": "YulIdentifier",
"src": "3755:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3755:53:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "3745:6:2"
}
]
}
]
},
{
"nodeType": "YulBlock",
"src": "3828:118:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "3843:16:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "3857:2:2",
"type": "",
"value": "32"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "3847:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "3873:63:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "3908:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "3919:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "3904:3:2"
},
"nodeType": "YulFunctionCall",
"src": "3904:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "3928:7:2"
}
],
"functionName": {
"name": "abi_decode_t_uint256",
"nodeType": "YulIdentifier",
"src": "3883:20:2"
},
"nodeType": "YulFunctionCall",
"src": "3883:53:2"
},
"variableNames": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "3873:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_addresst_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "3524:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "3535:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "3547:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "3555:6:2",
"type": ""
}
],
"src": "3479:474:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4055:73:2",
"statements": [
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4072:3:2"
},
{
"name": "length",
"nodeType": "YulIdentifier",
"src": "4077:6:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4065:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4065:19:2"
},
"nodeType": "YulExpressionStatement",
"src": "4065:19:2"
},
{
"nodeType": "YulAssignment",
"src": "4093:29:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4112:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4117:4:2",
"type": "",
"value": "0x20"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4108:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4108:14:2"
},
"variableNames": [
{
"name": "updated_pos",
"nodeType": "YulIdentifier",
"src": "4093:11:2"
}
]
}
]
},
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4027:3:2",
"type": ""
},
{
"name": "length",
"nodeType": "YulTypedName",
"src": "4032:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "updated_pos",
"nodeType": "YulTypedName",
"src": "4043:11:2",
"type": ""
}
],
"src": "3959:169:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4240:58:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "4262:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4270:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4258:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4258:14:2"
},
{
"hexValue": "43616e6e6f74207374616b652030",
"kind": "string",
"nodeType": "YulLiteral",
"src": "4274:16:2",
"type": "",
"value": "Cannot stake 0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4251:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4251:40:2"
},
"nodeType": "YulExpressionStatement",
"src": "4251:40:2"
}
]
},
"name": "store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "4232:6:2",
"type": ""
}
],
"src": "4134:164:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4450:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4460:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4526:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4531:2:2",
"type": "",
"value": "14"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4467:58:2"
},
"nodeType": "YulFunctionCall",
"src": "4467:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4460:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4632:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab",
"nodeType": "YulIdentifier",
"src": "4543:88:2"
},
"nodeType": "YulFunctionCall",
"src": "4543:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "4543:93:2"
},
{
"nodeType": "YulAssignment",
"src": "4645:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "4656:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4661:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4652:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4652:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "4645:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "4438:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "4446:3:2",
"type": ""
}
],
"src": "4304:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "4847:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "4857:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4869:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4880:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4865:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4865:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4857:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4904:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "4915:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "4900:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4900:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4923:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "4929:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "4919:3:2"
},
"nodeType": "YulFunctionCall",
"src": "4919:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "4893:6:2"
},
"nodeType": "YulFunctionCall",
"src": "4893:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "4893:47:2"
},
{
"nodeType": "YulAssignment",
"src": "4949:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5083:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "4957:124:2"
},
"nodeType": "YulFunctionCall",
"src": "4957:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "4949:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "4827:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "4842:4:2",
"type": ""
}
],
"src": "4676:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5255:288:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5265:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5277:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5288:2:2",
"type": "",
"value": "96"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5273:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5273:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "5265:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "5345:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5358:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5369:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5354:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5354:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5301:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5301:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "5301:71:2"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "5426:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5439:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5450:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5435:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5435:18:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "5382:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5382:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "5382:72:2"
},
{
"expression": {
"arguments": [
{
"name": "value2",
"nodeType": "YulIdentifier",
"src": "5508:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "5521:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5532:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "5517:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5517:18:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "5464:43:2"
},
"nodeType": "YulFunctionCall",
"src": "5464:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "5464:72:2"
}
]
},
"name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5211:9:2",
"type": ""
},
{
"name": "value2",
"nodeType": "YulTypedName",
"src": "5223:6:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "5231:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5239:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "5250:4:2",
"type": ""
}
],
"src": "5101:442:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5591:48:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5601:32:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5626:5:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5619:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5619:13:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5612:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5612:21:2"
},
"variableNames": [
{
"name": "cleaned",
"nodeType": "YulIdentifier",
"src": "5601:7:2"
}
]
}
]
},
"name": "cleanup_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5573:5:2",
"type": ""
}
],
"returnVariables": [
{
"name": "cleaned",
"nodeType": "YulTypedName",
"src": "5583:7:2",
"type": ""
}
],
"src": "5549:90:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5685:76:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "5739:16:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5748:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "5751:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "5741:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5741:12:2"
},
"nodeType": "YulExpressionStatement",
"src": "5741:12:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5708:5:2"
},
{
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5730:5:2"
}
],
"functionName": {
"name": "cleanup_t_bool",
"nodeType": "YulIdentifier",
"src": "5715:14:2"
},
"nodeType": "YulFunctionCall",
"src": "5715:21:2"
}
],
"functionName": {
"name": "eq",
"nodeType": "YulIdentifier",
"src": "5705:2:2"
},
"nodeType": "YulFunctionCall",
"src": "5705:32:2"
}
],
"functionName": {
"name": "iszero",
"nodeType": "YulIdentifier",
"src": "5698:6:2"
},
"nodeType": "YulFunctionCall",
"src": "5698:40:2"
},
"nodeType": "YulIf",
"src": "5695:60:2"
}
]
},
"name": "validator_revert_t_bool",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5678:5:2",
"type": ""
}
],
"src": "5645:116:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5827:77:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "5837:22:2",
"value": {
"arguments": [
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "5852:6:2"
}
],
"functionName": {
"name": "mload",
"nodeType": "YulIdentifier",
"src": "5846:5:2"
},
"nodeType": "YulFunctionCall",
"src": "5846:13:2"
},
"variableNames": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5837:5:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value",
"nodeType": "YulIdentifier",
"src": "5892:5:2"
}
],
"functionName": {
"name": "validator_revert_t_bool",
"nodeType": "YulIdentifier",
"src": "5868:23:2"
},
"nodeType": "YulFunctionCall",
"src": "5868:30:2"
},
"nodeType": "YulExpressionStatement",
"src": "5868:30:2"
}
]
},
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "5805:6:2",
"type": ""
},
{
"name": "end",
"nodeType": "YulTypedName",
"src": "5813:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value",
"nodeType": "YulTypedName",
"src": "5821:5:2",
"type": ""
}
],
"src": "5767:137:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "5984:271:2",
"statements": [
{
"body": {
"nodeType": "YulBlock",
"src": "6030:83:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
"nodeType": "YulIdentifier",
"src": "6032:77:2"
},
"nodeType": "YulFunctionCall",
"src": "6032:79:2"
},
"nodeType": "YulExpressionStatement",
"src": "6032:79:2"
}
]
},
"condition": {
"arguments": [
{
"arguments": [
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6005:7:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6014:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "6001:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6001:23:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6026:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "slt",
"nodeType": "YulIdentifier",
"src": "5997:3:2"
},
"nodeType": "YulFunctionCall",
"src": "5997:32:2"
},
"nodeType": "YulIf",
"src": "5994:119:2"
},
{
"nodeType": "YulBlock",
"src": "6123:125:2",
"statements": [
{
"nodeType": "YulVariableDeclaration",
"src": "6138:15:2",
"value": {
"kind": "number",
"nodeType": "YulLiteral",
"src": "6152:1:2",
"type": "",
"value": "0"
},
"variables": [
{
"name": "offset",
"nodeType": "YulTypedName",
"src": "6142:6:2",
"type": ""
}
]
},
{
"nodeType": "YulAssignment",
"src": "6167:71:2",
"value": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "6210:9:2"
},
{
"name": "offset",
"nodeType": "YulIdentifier",
"src": "6221:6:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6206:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6206:22:2"
},
{
"name": "dataEnd",
"nodeType": "YulIdentifier",
"src": "6230:7:2"
}
],
"functionName": {
"name": "abi_decode_t_bool_fromMemory",
"nodeType": "YulIdentifier",
"src": "6177:28:2"
},
"nodeType": "YulFunctionCall",
"src": "6177:61:2"
},
"variableNames": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "6167:6:2"
}
]
}
]
}
]
},
"name": "abi_decode_tuple_t_bool_fromMemory",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "5954:9:2",
"type": ""
},
{
"name": "dataEnd",
"nodeType": "YulTypedName",
"src": "5965:7:2",
"type": ""
}
],
"returnVariables": [
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "5977:6:2",
"type": ""
}
],
"src": "5910:345:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6289:152:2",
"statements": [
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6306:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6309:77:2",
"type": "",
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6299:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6299:88:2"
},
"nodeType": "YulExpressionStatement",
"src": "6299:88:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6403:1:2",
"type": "",
"value": "4"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6406:4:2",
"type": "",
"value": "0x11"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6396:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6396:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "6396:15:2"
},
{
"expression": {
"arguments": [
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6427:1:2",
"type": "",
"value": "0"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6430:4:2",
"type": "",
"value": "0x24"
}
],
"functionName": {
"name": "revert",
"nodeType": "YulIdentifier",
"src": "6420:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6420:15:2"
},
"nodeType": "YulExpressionStatement",
"src": "6420:15:2"
}
]
},
"name": "panic_error_0x11",
"nodeType": "YulFunctionDefinition",
"src": "6261:180:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6491:147:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6501:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6524:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6506:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6506:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6501:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6535:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6558:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "6540:17:2"
},
"nodeType": "YulFunctionCall",
"src": "6540:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6535:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "6569:16:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6580:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "6583:1:2"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6576:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6576:9:2"
},
"variableNames": [
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6569:3:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "6609:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "6611:16:2"
},
"nodeType": "YulFunctionCall",
"src": "6611:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "6611:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "6601:1:2"
},
{
"name": "sum",
"nodeType": "YulIdentifier",
"src": "6604:3:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "6598:2:2"
},
"nodeType": "YulFunctionCall",
"src": "6598:10:2"
},
"nodeType": "YulIf",
"src": "6595:36:2"
}
]
},
"name": "checked_add_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "6478:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "6481:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "sum",
"nodeType": "YulTypedName",
"src": "6487:3:2",
"type": ""
}
],
"src": "6447:191:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6750:61:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "6772:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "6780:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "6768:3:2"
},
"nodeType": "YulFunctionCall",
"src": "6768:14:2"
},
{
"hexValue": "43616e6e6f742077697468647261772030",
"kind": "string",
"nodeType": "YulLiteral",
"src": "6784:19:2",
"type": "",
"value": "Cannot withdraw 0"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "6761:6:2"
},
"nodeType": "YulFunctionCall",
"src": "6761:43:2"
},
"nodeType": "YulExpressionStatement",
"src": "6761:43:2"
}
]
},
"name": "store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "6742:6:2",
"type": ""
}
],
"src": "6644:167:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "6963:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "6973:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7039:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7044:2:2",
"type": "",
"value": "17"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "6980:58:2"
},
"nodeType": "YulFunctionCall",
"src": "6980:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "6973:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7145:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0",
"nodeType": "YulIdentifier",
"src": "7056:88:2"
},
"nodeType": "YulFunctionCall",
"src": "7056:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "7056:93:2"
},
{
"nodeType": "YulAssignment",
"src": "7158:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7169:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7174:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7165:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7165:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "7158:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "6951:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "6959:3:2",
"type": ""
}
],
"src": "6817:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7360:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7370:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7382:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7393:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7378:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7378:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7370:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7417:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7428:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7413:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7413:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7436:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "7442:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "7432:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7432:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7406:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7406:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "7406:47:2"
},
{
"nodeType": "YulAssignment",
"src": "7462:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7596:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7470:124:2"
},
"nodeType": "YulFunctionCall",
"src": "7470:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "7462:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "7340:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "7355:4:2",
"type": ""
}
],
"src": "7189:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7720:64:2",
"statements": [
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "memPtr",
"nodeType": "YulIdentifier",
"src": "7742:6:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "7750:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "7738:3:2"
},
"nodeType": "YulFunctionCall",
"src": "7738:14:2"
},
{
"hexValue": "496e73756666696369656e742042616c616e6365",
"kind": "string",
"nodeType": "YulLiteral",
"src": "7754:22:2",
"type": "",
"value": "Insufficient Balance"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "7731:6:2"
},
"nodeType": "YulFunctionCall",
"src": "7731:46:2"
},
"nodeType": "YulExpressionStatement",
"src": "7731:46:2"
}
]
},
"name": "store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "memPtr",
"nodeType": "YulTypedName",
"src": "7712:6:2",
"type": ""
}
],
"src": "7614:170:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "7936:220:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "7946:74:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8012:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8017:2:2",
"type": "",
"value": "20"
}
],
"functionName": {
"name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "7953:58:2"
},
"nodeType": "YulFunctionCall",
"src": "7953:67:2"
},
"variableNames": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "7946:3:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8118:3:2"
}
],
"functionName": {
"name": "store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82",
"nodeType": "YulIdentifier",
"src": "8029:88:2"
},
"nodeType": "YulFunctionCall",
"src": "8029:93:2"
},
"nodeType": "YulExpressionStatement",
"src": "8029:93:2"
},
{
"nodeType": "YulAssignment",
"src": "8131:19:2",
"value": {
"arguments": [
{
"name": "pos",
"nodeType": "YulIdentifier",
"src": "8142:3:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8147:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8138:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8138:12:2"
},
"variableNames": [
{
"name": "end",
"nodeType": "YulIdentifier",
"src": "8131:3:2"
}
]
}
]
},
"name": "abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "pos",
"nodeType": "YulTypedName",
"src": "7924:3:2",
"type": ""
}
],
"returnVariables": [
{
"name": "end",
"nodeType": "YulTypedName",
"src": "7932:3:2",
"type": ""
}
],
"src": "7790:366:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8333:248:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8343:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8355:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8366:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8351:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8351:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8343:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8390:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8401:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8386:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8386:17:2"
},
{
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8409:4:2"
},
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8415:9:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8405:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8405:20:2"
}
],
"functionName": {
"name": "mstore",
"nodeType": "YulIdentifier",
"src": "8379:6:2"
},
"nodeType": "YulFunctionCall",
"src": "8379:47:2"
},
"nodeType": "YulExpressionStatement",
"src": "8379:47:2"
},
{
"nodeType": "YulAssignment",
"src": "8435:139:2",
"value": {
"arguments": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8569:4:2"
}
],
"functionName": {
"name": "abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack",
"nodeType": "YulIdentifier",
"src": "8443:124:2"
},
"nodeType": "YulFunctionCall",
"src": "8443:131:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8435:4:2"
}
]
}
]
},
"name": "abi_encode_tuple_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82__to_t_string_memory_ptr__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8313:9:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8328:4:2",
"type": ""
}
],
"src": "8162:419:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8632:149:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8642:25:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8665:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8647:17:2"
},
"nodeType": "YulFunctionCall",
"src": "8647:20:2"
},
"variableNames": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8642:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8676:25:2",
"value": {
"arguments": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8699:1:2"
}
],
"functionName": {
"name": "cleanup_t_uint256",
"nodeType": "YulIdentifier",
"src": "8681:17:2"
},
"nodeType": "YulFunctionCall",
"src": "8681:20:2"
},
"variableNames": [
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8676:1:2"
}
]
},
{
"nodeType": "YulAssignment",
"src": "8710:17:2",
"value": {
"arguments": [
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8722:1:2"
},
{
"name": "y",
"nodeType": "YulIdentifier",
"src": "8725:1:2"
}
],
"functionName": {
"name": "sub",
"nodeType": "YulIdentifier",
"src": "8718:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8718:9:2"
},
"variableNames": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "8710:4:2"
}
]
},
{
"body": {
"nodeType": "YulBlock",
"src": "8752:22:2",
"statements": [
{
"expression": {
"arguments": [],
"functionName": {
"name": "panic_error_0x11",
"nodeType": "YulIdentifier",
"src": "8754:16:2"
},
"nodeType": "YulFunctionCall",
"src": "8754:18:2"
},
"nodeType": "YulExpressionStatement",
"src": "8754:18:2"
}
]
},
"condition": {
"arguments": [
{
"name": "diff",
"nodeType": "YulIdentifier",
"src": "8743:4:2"
},
{
"name": "x",
"nodeType": "YulIdentifier",
"src": "8749:1:2"
}
],
"functionName": {
"name": "gt",
"nodeType": "YulIdentifier",
"src": "8740:2:2"
},
"nodeType": "YulFunctionCall",
"src": "8740:11:2"
},
"nodeType": "YulIf",
"src": "8737:37:2"
}
]
},
"name": "checked_sub_t_uint256",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "x",
"nodeType": "YulTypedName",
"src": "8618:1:2",
"type": ""
},
{
"name": "y",
"nodeType": "YulTypedName",
"src": "8621:1:2",
"type": ""
}
],
"returnVariables": [
{
"name": "diff",
"nodeType": "YulTypedName",
"src": "8627:4:2",
"type": ""
}
],
"src": "8587:194:2"
},
{
"body": {
"nodeType": "YulBlock",
"src": "8913:206:2",
"statements": [
{
"nodeType": "YulAssignment",
"src": "8923:26:2",
"value": {
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "8935:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "8946:2:2",
"type": "",
"value": "64"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "8931:3:2"
},
"nodeType": "YulFunctionCall",
"src": "8931:18:2"
},
"variableNames": [
{
"name": "tail",
"nodeType": "YulIdentifier",
"src": "8923:4:2"
}
]
},
{
"expression": {
"arguments": [
{
"name": "value0",
"nodeType": "YulIdentifier",
"src": "9003:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9016:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9027:1:2",
"type": "",
"value": "0"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9012:3:2"
},
"nodeType": "YulFunctionCall",
"src": "9012:17:2"
}
],
"functionName": {
"name": "abi_encode_t_address_to_t_address_fromStack",
"nodeType": "YulIdentifier",
"src": "8959:43:2"
},
"nodeType": "YulFunctionCall",
"src": "8959:71:2"
},
"nodeType": "YulExpressionStatement",
"src": "8959:71:2"
},
{
"expression": {
"arguments": [
{
"name": "value1",
"nodeType": "YulIdentifier",
"src": "9084:6:2"
},
{
"arguments": [
{
"name": "headStart",
"nodeType": "YulIdentifier",
"src": "9097:9:2"
},
{
"kind": "number",
"nodeType": "YulLiteral",
"src": "9108:2:2",
"type": "",
"value": "32"
}
],
"functionName": {
"name": "add",
"nodeType": "YulIdentifier",
"src": "9093:3:2"
},
"nodeType": "YulFunctionCall",
"src": "9093:18:2"
}
],
"functionName": {
"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
"nodeType": "YulIdentifier",
"src": "9040:43:2"
},
"nodeType": "YulFunctionCall",
"src": "9040:72:2"
},
"nodeType": "YulExpressionStatement",
"src": "9040:72:2"
}
]
},
"name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed",
"nodeType": "YulFunctionDefinition",
"parameters": [
{
"name": "headStart",
"nodeType": "YulTypedName",
"src": "8877:9:2",
"type": ""
},
{
"name": "value1",
"nodeType": "YulTypedName",
"src": "8889:6:2",
"type": ""
},
{
"name": "value0",
"nodeType": "YulTypedName",
"src": "8897:6:2",
"type": ""
}
],
"returnVariables": [
{
"name": "tail",
"nodeType": "YulTypedName",
"src": "8908:4:2",
"type": ""
}
],
"src": "8787:332:2"
}
]
},
"contents": "{\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function identity(value) -> ret {\n ret := value\n }\n\n function convert_t_uint160_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(identity(cleanup_t_uint160(value)))\n }\n\n function convert_t_uint160_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_uint160(value)\n }\n\n function convert_t_contract$_IERC20_$77_to_t_address(value) -> converted {\n converted := convert_t_uint160_to_t_address(value)\n }\n\n function abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_IERC20_$77_to_t_address(value))\n }\n\n function abi_encode_tuple_t_contract$_IERC20_$77__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_IERC20_$77_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot stake 0\")\n\n }\n\n function abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 14)\n store_literal_in_memory_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_2972ce884b95fc24c703b7f04fae79e4ca7287e77fa26ed09d1faa4263e887ab_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value2, add(headStart, 64))\n\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n sum := add(x, y)\n\n if gt(x, sum) { panic_error_0x11() }\n\n }\n\n function store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0(memPtr) {\n\n mstore(add(memPtr, 0), \"Cannot withdraw 0\")\n\n }\n\n function abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 17)\n store_literal_in_memory_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8d85b8e7f4404d04d93e8d532ad219ceeba0becfbc18622bad46b31e08b1f0b0_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient Balance\")\n\n }\n\n function abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 20)\n store_literal_in_memory_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_tuple_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b80e76e4c9dd95c0a6a7ab97569124291f4757bb9e5ff42d1e95905b42144c82_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n diff := sub(x, y)\n\n if gt(diff, x) { panic_error_0x11() }\n\n }\n\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n}\n",
"id": 2,
"language": "Yul",
"name": "#utility.yul"
}
],
"immutableReferences": {},
"linkReferences": {},
"object": "608060405234801561000f575f80fd5b5060043610610086575f3560e01c8063a694fc3a11610059578063a694fc3a14610100578063c8f33c911461011c578063f2fde38b1461013a578063f3fef3a31461015657610086565b8063602172671461008a578063715018a6146100ba57806372f702f3146100c45780638da5cb5b146100e2575b5f80fd5b6100a4600480360381019061009f91906107ae565b610172565b6040516100b191906107f1565b60405180910390f35b6100c2610187565b005b6100cc61019a565b6040516100d99190610865565b60405180910390f35b6100ea6101bf565b6040516100f7919061088d565b60405180910390f35b61011a600480360381019061011591906108d0565b6101e6565b005b61012461036b565b60405161013191906107f1565b60405180910390f35b610154600480360381019061014f91906107ae565b610371565b005b610170600480360381019061016b91906108fb565b6103f5565b005b6003602052805f5260405f205f915090505481565b61018f610601565b6101985f610688565b565b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f8111610228576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021f90610993565b60405180910390fd5b60015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff1660e01b8152600401610286939291906109b1565b6020604051808303815f875af11580156102a2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102c69190610a1b565b508060035f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546103139190610a73565b925050819055503373ffffffffffffffffffffffffffffffffffffffff167f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d8260405161036091906107f1565b60405180910390a250565b60025481565b610379610601565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036103e9575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016103e0919061088d565b60405180910390fd5b6103f281610688565b50565b6103fd610601565b5f811161043f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043690610af0565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104b690610b58565b60405180910390fd5b8060035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825461050b9190610b76565b9250508190555060015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b815260040161056e929190610ba9565b6020604051808303815f875af115801561058a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ae9190610a1b565b508173ffffffffffffffffffffffffffffffffffffffff167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5826040516105f591906107f1565b60405180910390a25050565b610609610749565b73ffffffffffffffffffffffffffffffffffffffff166106276101bf565b73ffffffffffffffffffffffffffffffffffffffff16146106865761064a610749565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161067d919061088d565b60405180910390fd5b565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f33905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61077d82610754565b9050919050565b61078d81610773565b8114610797575f80fd5b50565b5f813590506107a881610784565b92915050565b5f602082840312156107c3576107c2610750565b5b5f6107d08482850161079a565b91505092915050565b5f819050919050565b6107eb816107d9565b82525050565b5f6020820190506108045f8301846107e2565b92915050565b5f819050919050565b5f61082d61082861082384610754565b61080a565b610754565b9050919050565b5f61083e82610813565b9050919050565b5f61084f82610834565b9050919050565b61085f81610845565b82525050565b5f6020820190506108785f830184610856565b92915050565b61088781610773565b82525050565b5f6020820190506108a05f83018461087e565b92915050565b6108af816107d9565b81146108b9575f80fd5b50565b5f813590506108ca816108a6565b92915050565b5f602082840312156108e5576108e4610750565b5b5f6108f2848285016108bc565b91505092915050565b5f806040838503121561091157610910610750565b5b5f61091e8582860161079a565b925050602061092f858286016108bc565b9150509250929050565b5f82825260208201905092915050565b7f43616e6e6f74207374616b6520300000000000000000000000000000000000005f82015250565b5f61097d600e83610939565b915061098882610949565b602082019050919050565b5f6020820190508181035f8301526109aa81610971565b9050919050565b5f6060820190506109c45f83018661087e565b6109d1602083018561087e565b6109de60408301846107e2565b949350505050565b5f8115159050919050565b6109fa816109e6565b8114610a04575f80fd5b50565b5f81519050610a15816109f1565b92915050565b5f60208284031215610a3057610a2f610750565b5b5f610a3d84828501610a07565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610a7d826107d9565b9150610a88836107d9565b9250828201905080821115610aa057610a9f610a46565b5b92915050565b7f43616e6e6f7420776974686472617720300000000000000000000000000000005f82015250565b5f610ada601183610939565b9150610ae582610aa6565b602082019050919050565b5f6020820190508181035f830152610b0781610ace565b9050919050565b7f496e73756666696369656e742042616c616e63650000000000000000000000005f82015250565b5f610b42601483610939565b9150610b4d82610b0e565b602082019050919050565b5f6020820190508181035f830152610b6f81610b36565b9050919050565b5f610b80826107d9565b9150610b8b836107d9565b9250828203905081811115610ba357610ba2610a46565b5b92915050565b5f604082019050610bbc5f83018561087e565b610bc960208301846107e2565b939250505056fea264697066735822122042a95abbf08960a6e61ddfd7c62b71e82174fa209b0bf57f470cc20850c2ba9c64736f6c63430008140033",
"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x86 JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA694FC3A GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xA694FC3A EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0xC8F33C91 EQ PUSH2 0x11C JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x13A JUMPI DUP1 PUSH4 0xF3FEF3A3 EQ PUSH2 0x156 JUMPI PUSH2 0x86 JUMP JUMPDEST DUP1 PUSH4 0x60217267 EQ PUSH2 0x8A JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0xBA JUMPI DUP1 PUSH4 0x72F702F3 EQ PUSH2 0xC4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0xE2 JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xA4 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x9F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x172 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xB1 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC2 PUSH2 0x187 JUMP JUMPDEST STOP JUMPDEST PUSH2 0xCC PUSH2 0x19A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD9 SWAP2 SWAP1 PUSH2 0x865 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH2 0x1BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x8D0 JUMP JUMPDEST PUSH2 0x1E6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x124 PUSH2 0x36B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x131 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x154 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x14F SWAP2 SWAP1 PUSH2 0x7AE JUMP JUMPDEST PUSH2 0x371 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x170 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x16B SWAP2 SWAP1 PUSH2 0x8FB JUMP JUMPDEST PUSH2 0x3F5 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH0 MSTORE PUSH1 0x40 PUSH0 KECCAK256 PUSH0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0x18F PUSH2 0x601 JUMP JUMPDEST PUSH2 0x198 PUSH0 PUSH2 0x688 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x228 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x21F SWAP1 PUSH2 0x993 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x23B872DD CALLER ADDRESS DUP5 PUSH1 0x40 MLOAD DUP5 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x286 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x9B1 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x2A2 JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2C6 SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP1 PUSH1 0x3 PUSH0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x313 SWAP2 SWAP1 PUSH2 0xA73 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x9E71BC8EEA02A63969F509818F2DAFB9254532904319F9DBDA79B67BD34A5F3D DUP3 PUSH1 0x40 MLOAD PUSH2 0x360 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x2 SLOAD DUP2 JUMP JUMPDEST PUSH2 0x379 PUSH2 0x601 JUMP JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SUB PUSH2 0x3E9 JUMPI PUSH0 PUSH1 0x40 MLOAD PUSH32 0x1E4FBDF700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3E0 SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x3F2 DUP2 PUSH2 0x688 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x3FD PUSH2 0x601 JUMP JUMPDEST PUSH0 DUP2 GT PUSH2 0x43F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x436 SWAP1 PUSH2 0xAF0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 SLOAD LT ISZERO PUSH2 0x4BF JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4B6 SWAP1 PUSH2 0xB58 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x3 PUSH0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH0 KECCAK256 PUSH0 DUP3 DUP3 SLOAD PUSH2 0x50B SWAP2 SWAP1 PUSH2 0xB76 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xA9059CBB DUP4 DUP4 PUSH1 0x40 MLOAD DUP4 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x56E SWAP3 SWAP2 SWAP1 PUSH2 0xBA9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x58A JUMPI RETURNDATASIZE PUSH0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x5AE SWAP2 SWAP1 PUSH2 0xA1B JUMP JUMPDEST POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x5F5 SWAP2 SWAP1 PUSH2 0x7F1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x609 PUSH2 0x749 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x627 PUSH2 0x1BF JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x686 JUMPI PUSH2 0x64A PUSH2 0x749 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0x118CDAA700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x67D SWAP2 SWAP1 PUSH2 0x88D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH0 DUP1 PUSH0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x77D DUP3 PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x78D DUP2 PUSH2 0x773 JUMP JUMPDEST DUP2 EQ PUSH2 0x797 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x7A8 DUP2 PUSH2 0x784 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x7C3 JUMPI PUSH2 0x7C2 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x7D0 DUP5 DUP3 DUP6 ADD PUSH2 0x79A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7EB DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x804 PUSH0 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x82D PUSH2 0x828 PUSH2 0x823 DUP5 PUSH2 0x754 JUMP JUMPDEST PUSH2 0x80A JUMP JUMPDEST PUSH2 0x754 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x83E DUP3 PUSH2 0x813 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0x84F DUP3 PUSH2 0x834 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x85F DUP2 PUSH2 0x845 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x878 PUSH0 DUP4 ADD DUP5 PUSH2 0x856 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x887 DUP2 PUSH2 0x773 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8A0 PUSH0 DUP4 ADD DUP5 PUSH2 0x87E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x8AF DUP2 PUSH2 0x7D9 JUMP JUMPDEST DUP2 EQ PUSH2 0x8B9 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x8CA DUP2 PUSH2 0x8A6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x8E5 JUMPI PUSH2 0x8E4 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x8F2 DUP5 DUP3 DUP6 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x911 JUMPI PUSH2 0x910 PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x91E DUP6 DUP3 DUP7 ADD PUSH2 0x79A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x92F DUP6 DUP3 DUP7 ADD PUSH2 0x8BC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F74207374616B652030000000000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0x97D PUSH1 0xE DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0x988 DUP3 PUSH2 0x949 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0x9AA DUP2 PUSH2 0x971 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x9C4 PUSH0 DUP4 ADD DUP7 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9D1 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x9DE PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FA DUP2 PUSH2 0x9E6 JUMP JUMPDEST DUP2 EQ PUSH2 0xA04 JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 MLOAD SWAP1 POP PUSH2 0xA15 DUP2 PUSH2 0x9F1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA30 JUMPI PUSH2 0xA2F PUSH2 0x750 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0xA3D DUP5 DUP3 DUP6 ADD PUSH2 0xA07 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH0 REVERT JUMPDEST PUSH0 PUSH2 0xA7D DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xA88 DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 ADD SWAP1 POP DUP1 DUP3 GT ISZERO PUSH2 0xAA0 JUMPI PUSH2 0xA9F PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH32 0x43616E6E6F742077697468647261772030000000000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xADA PUSH1 0x11 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xAE5 DUP3 PUSH2 0xAA6 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB07 DUP2 PUSH2 0xACE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E742042616C616E6365000000000000000000000000 PUSH0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH0 PUSH2 0xB42 PUSH1 0x14 DUP4 PUSH2 0x939 JUMP JUMPDEST SWAP2 POP PUSH2 0xB4D DUP3 PUSH2 0xB0E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH0 DUP4 ADD MSTORE PUSH2 0xB6F DUP2 PUSH2 0xB36 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH0 PUSH2 0xB80 DUP3 PUSH2 0x7D9 JUMP JUMPDEST SWAP2 POP PUSH2 0xB8B DUP4 PUSH2 0x7D9 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 SUB SWAP1 POP DUP2 DUP2 GT ISZERO PUSH2 0xBA3 JUMPI PUSH2 0xBA2 PUSH2 0xA46 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xBBC PUSH0 DUP4 ADD DUP6 PUSH2 0x87E JUMP JUMPDEST PUSH2 0xBC9 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x7E2 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 TIMESTAMP 0xA9 GAS 0xBB CREATE DUP10 PUSH1 0xA6 0xE6 SAR 0xDF 0xD7 0xC6 0x2B PUSH18 0xE82174FA209B0BF57F470CC20850C2BA9C64 PUSH20 0x6F6C634300081400330000000000000000000000 ",
"sourceMap": "3657:1067:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3826:48;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2845:101;;;:::i;:::-;;3699:26;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2190:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4133:250;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3756:29;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3095:215;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4389:333;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3826:48;;;;;;;;;;;;;;;;;:::o;2845:101::-;2083:13;:11;:13::i;:::-;2909:30:::1;2936:1;2909:18;:30::i;:::-;2845:101::o:0;3699:26::-;;;;;;;;;;;;;:::o;2190:85::-;2236:7;2262:6;;;;;;;;;;;2255:13;;2190:85;:::o;4133:250::-;4200:1;4191:6;:10;4183:37;;;;;;;;;;;;:::i;:::-;;;;;;;;;4230:12;;;;;;;;;;;:25;;;4256:10;4276:4;4283:6;4230:60;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4329:6;4300:13;:25;4314:10;4300:25;;;;;;;;;;;;;;;;:35;;;;;;;:::i;:::-;;;;;;;;4357:10;4350:26;;;4369:6;4350:26;;;;;;:::i;:::-;;;;;;;;4133:250;:::o;3756:29::-;;;;:::o;3095:215::-;2083:13;:11;:13::i;:::-;3199:1:::1;3179:22;;:8;:22;;::::0;3175:91:::1;;3252:1;3224:31;;;;;;;;;;;:::i;:::-;;;;;;;;3175:91;3275:28;3294:8;3275:18;:28::i;:::-;3095:215:::0;:::o;4389:333::-;2083:13;:11;:13::i;:::-;4486:1:::1;4477:6;:10;4469:40;;;;;;;;;;;;:::i;:::-;;;;;;;;;4553:6;4527:13;:22;4541:7;4527:22;;;;;;;;;;;;;;;;:32;;4519:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;4620:6;4594:13;:22;4608:7;4594:22;;;;;;;;;;;;;;;;:32;;;;;;;:::i;:::-;;;;;;;;4636:12;;;;;;;;;;;:21;;;4658:7;4667:6;4636:38;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;4699:7;4689:26;;;4708:6;4689:26;;;;;;:::i;:::-;;;;;;;;4389:333:::0;;:::o;2348:162::-;2418:12;:10;:12::i;:::-;2407:23;;:7;:5;:7::i;:::-;:23;;;2403:101;;2480:12;:10;:12::i;:::-;2453:40;;;;;;;;;;;:::i;:::-;;;;;;;;2403:101;2348:162::o;3464:187::-;3537:16;3556:6;;;;;;;;;;;3537:25;;3581:8;3572:6;;:17;;;;;;;;;;;;;;;;;;3635:8;3604:40;;3625:8;3604:40;;;;;;;;;;;;3527:124;3464:187;:::o;647:96::-;700:7;726:10;719:17;;647:96;:::o;88:117:2:-;197:1;194;187:12;334:126;371:7;411:42;404:5;400:54;389:65;;334:126;;;:::o;466:96::-;503:7;532:24;550:5;532:24;:::i;:::-;521:35;;466:96;;;:::o;568:122::-;641:24;659:5;641:24;:::i;:::-;634:5;631:35;621:63;;680:1;677;670:12;621:63;568:122;:::o;696:139::-;742:5;780:6;767:20;758:29;;796:33;823:5;796:33;:::i;:::-;696:139;;;;:::o;841:329::-;900:6;949:2;937:9;928:7;924:23;920:32;917:119;;;955:79;;:::i;:::-;917:119;1075:1;1100:53;1145:7;1136:6;1125:9;1121:22;1100:53;:::i;:::-;1090:63;;1046:117;841:329;;;;:::o;1176:77::-;1213:7;1242:5;1231:16;;1176:77;;;:::o;1259:118::-;1346:24;1364:5;1346:24;:::i;:::-;1341:3;1334:37;1259:118;;:::o;1383:222::-;1476:4;1514:2;1503:9;1499:18;1491:26;;1527:71;1595:1;1584:9;1580:17;1571:6;1527:71;:::i;:::-;1383:222;;;;:::o;1611:60::-;1639:3;1660:5;1653:12;;1611:60;;;:::o;1677:142::-;1727:9;1760:53;1778:34;1787:24;1805:5;1787:24;:::i;:::-;1778:34;:::i;:::-;1760:53;:::i;:::-;1747:66;;1677:142;;;:::o;1825:126::-;1875:9;1908:37;1939:5;1908:37;:::i;:::-;1895:50;;1825:126;;;:::o;1957:139::-;2020:9;2053:37;2084:5;2053:37;:::i;:::-;2040:50;;1957:139;;;:::o;2102:157::-;2202:50;2246:5;2202:50;:::i;:::-;2197:3;2190:63;2102:157;;:::o;2265:248::-;2371:4;2409:2;2398:9;2394:18;2386:26;;2422:84;2503:1;2492:9;2488:17;2479:6;2422:84;:::i;:::-;2265:248;;;;:::o;2519:118::-;2606:24;2624:5;2606:24;:::i;:::-;2601:3;2594:37;2519:118;;:::o;2643:222::-;2736:4;2774:2;2763:9;2759:18;2751:26;;2787:71;2855:1;2844:9;2840:17;2831:6;2787:71;:::i;:::-;2643:222;;;;:::o;2871:122::-;2944:24;2962:5;2944:24;:::i;:::-;2937:5;2934:35;2924:63;;2983:1;2980;2973:12;2924:63;2871:122;:::o;2999:139::-;3045:5;3083:6;3070:20;3061:29;;3099:33;3126:5;3099:33;:::i;:::-;2999:139;;;;:::o;3144:329::-;3203:6;3252:2;3240:9;3231:7;3227:23;3223:32;3220:119;;;3258:79;;:::i;:::-;3220:119;3378:1;3403:53;3448:7;3439:6;3428:9;3424:22;3403:53;:::i;:::-;3393:63;;3349:117;3144:329;;;;:::o;3479:474::-;3547:6;3555;3604:2;3592:9;3583:7;3579:23;3575:32;3572:119;;;3610:79;;:::i;:::-;3572:119;3730:1;3755:53;3800:7;3791:6;3780:9;3776:22;3755:53;:::i;:::-;3745:63;;3701:117;3857:2;3883:53;3928:7;3919:6;3908:9;3904:22;3883:53;:::i;:::-;3873:63;;3828:118;3479:474;;;;;:::o;3959:169::-;4043:11;4077:6;4072:3;4065:19;4117:4;4112:3;4108:14;4093:29;;3959:169;;;;:::o;4134:164::-;4274:16;4270:1;4262:6;4258:14;4251:40;4134:164;:::o;4304:366::-;4446:3;4467:67;4531:2;4526:3;4467:67;:::i;:::-;4460:74;;4543:93;4632:3;4543:93;:::i;:::-;4661:2;4656:3;4652:12;4645:19;;4304:366;;;:::o;4676:419::-;4842:4;4880:2;4869:9;4865:18;4857:26;;4929:9;4923:4;4919:20;4915:1;4904:9;4900:17;4893:47;4957:131;5083:4;4957:131;:::i;:::-;4949:139;;4676:419;;;:::o;5101:442::-;5250:4;5288:2;5277:9;5273:18;5265:26;;5301:71;5369:1;5358:9;5354:17;5345:6;5301:71;:::i;:::-;5382:72;5450:2;5439:9;5435:18;5426:6;5382:72;:::i;:::-;5464;5532:2;5521:9;5517:18;5508:6;5464:72;:::i;:::-;5101:442;;;;;;:::o;5549:90::-;5583:7;5626:5;5619:13;5612:21;5601:32;;5549:90;;;:::o;5645:116::-;5715:21;5730:5;5715:21;:::i;:::-;5708:5;5705:32;5695:60;;5751:1;5748;5741:12;5695:60;5645:116;:::o;5767:137::-;5821:5;5852:6;5846:13;5837:22;;5868:30;5892:5;5868:30;:::i;:::-;5767:137;;;;:::o;5910:345::-;5977:6;6026:2;6014:9;6005:7;6001:23;5997:32;5994:119;;;6032:79;;:::i;:::-;5994:119;6152:1;6177:61;6230:7;6221:6;6210:9;6206:22;6177:61;:::i;:::-;6167:71;;6123:125;5910:345;;;;:::o;6261:180::-;6309:77;6306:1;6299:88;6406:4;6403:1;6396:15;6430:4;6427:1;6420:15;6447:191;6487:3;6506:20;6524:1;6506:20;:::i;:::-;6501:25;;6540:20;6558:1;6540:20;:::i;:::-;6535:25;;6583:1;6580;6576:9;6569:16;;6604:3;6601:1;6598:10;6595:36;;;6611:18;;:::i;:::-;6595:36;6447:191;;;;:::o;6644:167::-;6784:19;6780:1;6772:6;6768:14;6761:43;6644:167;:::o;6817:366::-;6959:3;6980:67;7044:2;7039:3;6980:67;:::i;:::-;6973:74;;7056:93;7145:3;7056:93;:::i;:::-;7174:2;7169:3;7165:12;7158:19;;6817:366;;;:::o;7189:419::-;7355:4;7393:2;7382:9;7378:18;7370:26;;7442:9;7436:4;7432:20;7428:1;7417:9;7413:17;7406:47;7470:131;7596:4;7470:131;:::i;:::-;7462:139;;7189:419;;;:::o;7614:170::-;7754:22;7750:1;7742:6;7738:14;7731:46;7614:170;:::o;7790:366::-;7932:3;7953:67;8017:2;8012:3;7953:67;:::i;:::-;7946:74;;8029:93;8118:3;8029:93;:::i;:::-;8147:2;8142:3;8138:12;8131:19;;7790:366;;;:::o;8162:419::-;8328:4;8366:2;8355:9;8351:18;8343:26;;8415:9;8409:4;8405:20;8401:1;8390:9;8386:17;8379:47;8443:131;8569:4;8443:131;:::i;:::-;8435:139;;8162:419;;;:::o;8587:194::-;8627:4;8647:20;8665:1;8647:20;:::i;:::-;8642:25;;8681:20;8699:1;8681:20;:::i;:::-;8676:25;;8725:1;8722;8718:9;8710:17;;8749:1;8743:4;8740:11;8737:37;;;8754:18;;:::i;:::-;8737:37;8587:194;;;;:::o;8787:332::-;8908:4;8946:2;8935:9;8931:18;8923:26;;8959:71;9027:1;9016:9;9012:17;9003:6;8959:71;:::i;:::-;9040:72;9108:2;9097:9;9093:18;9084:6;9040:72;:::i;:::-;8787:332;;;;;:::o"
},
"gasEstimates": {
"creation": {
"codeDepositCost": "615600",
"executionCost": "infinite",
"totalCost": "infinite"
},
"external": {
"lastUpdateTime()": "2447",
"owner()": "2582",
"renounceOwnership()": "infinite",
"stake(uint256)": "infinite",
"stakedBalance(address)": "2803",
"stakingToken()": "infinite",
"transferOwnership(address)": "infinite",
"withdraw(address,uint256)": "infinite"
}
},
"legacyAssembly": {
".code": [
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3657,
"end": 4724,
"name": "MSTORE",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "CALLVALUE",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "DUP1",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "ISZERO",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 3997,
"end": 4127,
"name": "JUMPI",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3997,
"end": 4127,
"name": "DUP1",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "REVERT",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 3997,
"end": 4127,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "POP",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3997,
"end": 4127,
"name": "MLOAD",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSHSIZE",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "CODESIZE",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "SUB",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "DUP1",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSHSIZE",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "DUP4",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "CODECOPY",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "DUP2",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "DUP2",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "ADD",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3997,
"end": 4127,
"name": "MSTORE",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "DUP2",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "ADD",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "SWAP1",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSH [tag]",
"source": 1,
"value": "2"
},
{
"begin": 3997,
"end": 4127,
"name": "SWAP2",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "SWAP1",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "PUSH [tag]",
"source": 1,
"value": "3"
},
{
"begin": 3997,
"end": 4127,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "tag",
"source": 1,
"value": "2"
},
{
"begin": 3997,
"end": 4127,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 1927,
"end": 1957,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 1946,
"end": 1956,
"name": "CALLER",
"source": 1
},
{
"begin": 1927,
"end": 1945,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 1927,
"end": 1945,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1927,
"end": 1945,
"name": "SHL",
"source": 1
},
{
"begin": 1927,
"end": 1957,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 1927,
"end": 1957,
"name": "SHR",
"source": 1
},
{
"begin": 1927,
"end": 1957,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 1927,
"end": 1957,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 1927,
"end": 1957,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4064,
"end": 4077,
"name": "DUP1",
"source": 1
},
{
"begin": 4042,
"end": 4054,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4042,
"end": 4054,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4042,
"end": 4078,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 4042,
"end": 4078,
"name": "EXP",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "DUP2",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "SLOAD",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "DUP2",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4042,
"end": 4078,
"name": "MUL",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "NOT",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "AND",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "SWAP1",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "DUP4",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4042,
"end": 4078,
"name": "AND",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "MUL",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "OR",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "SWAP1",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "SSTORE",
"source": 1
},
{
"begin": 4042,
"end": 4078,
"name": "POP",
"source": 1
},
{
"begin": 4105,
"end": 4120,
"name": "TIMESTAMP",
"source": 1
},
{
"begin": 4088,
"end": 4102,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 4088,
"end": 4120,
"name": "DUP2",
"source": 1
},
{
"begin": 4088,
"end": 4120,
"name": "SWAP1",
"source": 1
},
{
"begin": 4088,
"end": 4120,
"name": "SSTORE",
"source": 1
},
{
"begin": 4088,
"end": 4120,
"name": "POP",
"source": 1
},
{
"begin": 3997,
"end": 4127,
"name": "POP",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMP",
"source": 1
},
{
"begin": 3464,
"end": 3651,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 3464,
"end": 3651,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3537,
"end": 3553,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3556,
"end": 3562,
"name": "DUP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3556,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "SLOAD",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 3556,
"end": 3562,
"name": "EXP",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "DIV",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3556,
"end": 3562,
"name": "AND",
"source": 1
},
{
"begin": 3537,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3537,
"end": 3562,
"name": "POP",
"source": 1
},
{
"begin": 3581,
"end": 3589,
"name": "DUP2",
"source": 1
},
{
"begin": 3572,
"end": 3578,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3572,
"end": 3578,
"name": "DUP1",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 3572,
"end": 3589,
"name": "EXP",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "DUP2",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SLOAD",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "DUP2",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3572,
"end": 3589,
"name": "MUL",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "NOT",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "AND",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SWAP1",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "DUP4",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3572,
"end": 3589,
"name": "AND",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "MUL",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "OR",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SWAP1",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SSTORE",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "POP",
"source": 1
},
{
"begin": 3635,
"end": 3643,
"name": "DUP2",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3604,
"end": 3644,
"name": "AND",
"source": 1
},
{
"begin": 3625,
"end": 3633,
"name": "DUP2",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3604,
"end": 3644,
"name": "AND",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0"
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3604,
"end": 3644,
"name": "MLOAD",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3604,
"end": 3644,
"name": "MLOAD",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "DUP1",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "SWAP2",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "SUB",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "SWAP1",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "LOG3",
"source": 1
},
{
"begin": 3527,
"end": 3651,
"name": "POP",
"source": 1
},
{
"begin": 3464,
"end": 3651,
"name": "POP",
"source": 1
},
{
"begin": 3464,
"end": 3651,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 2,
"value": "13"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 2
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "tag",
"source": 2,
"value": "15"
},
{
"begin": 334,
"end": 460,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 411,
"end": 453,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 404,
"end": 409,
"name": "DUP3",
"source": 2
},
{
"begin": 400,
"end": 454,
"name": "AND",
"source": 2
},
{
"begin": 389,
"end": 454,
"name": "SWAP1",
"source": 2
},
{
"begin": 389,
"end": 454,
"name": "POP",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "SWAP2",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "SWAP1",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "POP",
"source": 2
},
{
"begin": 334,
"end": 460,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "tag",
"source": 2,
"value": "16"
},
{
"begin": 466,
"end": 562,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 503,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 2,
"value": "25"
},
{
"begin": 550,
"end": 555,
"name": "DUP3",
"source": 2
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 2,
"value": "15"
},
{
"begin": 532,
"end": 556,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 532,
"end": 556,
"name": "tag",
"source": 2,
"value": "25"
},
{
"begin": 532,
"end": 556,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 556,
"name": "SWAP1",
"source": 2
},
{
"begin": 521,
"end": 556,
"name": "POP",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "SWAP2",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "SWAP1",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "POP",
"source": 2
},
{
"begin": 466,
"end": 562,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 568,
"end": 690,
"name": "tag",
"source": 2,
"value": "17"
},
{
"begin": 568,
"end": 690,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 2,
"value": "27"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 2
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 2,
"value": "16"
},
{
"begin": 641,
"end": 665,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 641,
"end": 665,
"name": "tag",
"source": 2,
"value": "27"
},
{
"begin": 641,
"end": 665,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 634,
"end": 639,
"name": "DUP2",
"source": 2
},
{
"begin": 631,
"end": 666,
"name": "EQ",
"source": 2
},
{
"begin": 621,
"end": 684,
"name": "PUSH [tag]",
"source": 2,
"value": "28"
},
{
"begin": 621,
"end": 684,
"name": "JUMPI",
"source": 2
},
{
"begin": 680,
"end": 681,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 677,
"end": 678,
"name": "DUP1",
"source": 2
},
{
"begin": 670,
"end": 682,
"name": "REVERT",
"source": 2
},
{
"begin": 621,
"end": 684,
"name": "tag",
"source": 2,
"value": "28"
},
{
"begin": 621,
"end": 684,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 568,
"end": 690,
"name": "POP",
"source": 2
},
{
"begin": 568,
"end": 690,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 696,
"end": 839,
"name": "tag",
"source": 2,
"value": "18"
},
{
"begin": 696,
"end": 839,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 753,
"end": 758,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 784,
"end": 790,
"name": "DUP2",
"source": 2
},
{
"begin": 778,
"end": 791,
"name": "MLOAD",
"source": 2
},
{
"begin": 769,
"end": 791,
"name": "SWAP1",
"source": 2
},
{
"begin": 769,
"end": 791,
"name": "POP",
"source": 2
},
{
"begin": 800,
"end": 833,
"name": "PUSH [tag]",
"source": 2,
"value": "30"
},
{
"begin": 827,
"end": 832,
"name": "DUP2",
"source": 2
},
{
"begin": 800,
"end": 833,
"name": "PUSH [tag]",
"source": 2,
"value": "17"
},
{
"begin": 800,
"end": 833,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 800,
"end": 833,
"name": "tag",
"source": 2,
"value": "30"
},
{
"begin": 800,
"end": 833,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 696,
"end": 839,
"name": "SWAP3",
"source": 2
},
{
"begin": 696,
"end": 839,
"name": "SWAP2",
"source": 2
},
{
"begin": 696,
"end": 839,
"name": "POP",
"source": 2
},
{
"begin": 696,
"end": 839,
"name": "POP",
"source": 2
},
{
"begin": 696,
"end": 839,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 845,
"end": 1196,
"name": "tag",
"source": 2,
"value": "3"
},
{
"begin": 845,
"end": 1196,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 915,
"end": 921,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 964,
"end": 966,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 952,
"end": 961,
"name": "DUP3",
"source": 2
},
{
"begin": 943,
"end": 950,
"name": "DUP5",
"source": 2
},
{
"begin": 939,
"end": 962,
"name": "SUB",
"source": 2
},
{
"begin": 935,
"end": 967,
"name": "SLT",
"source": 2
},
{
"begin": 932,
"end": 1051,
"name": "ISZERO",
"source": 2
},
{
"begin": 932,
"end": 1051,
"name": "PUSH [tag]",
"source": 2,
"value": "32"
},
{
"begin": 932,
"end": 1051,
"name": "JUMPI",
"source": 2
},
{
"begin": 970,
"end": 1049,
"name": "PUSH [tag]",
"source": 2,
"value": "33"
},
{
"begin": 970,
"end": 1049,
"name": "PUSH [tag]",
"source": 2,
"value": "13"
},
{
"begin": 970,
"end": 1049,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 970,
"end": 1049,
"name": "tag",
"source": 2,
"value": "33"
},
{
"begin": 970,
"end": 1049,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 932,
"end": 1051,
"name": "tag",
"source": 2,
"value": "32"
},
{
"begin": 932,
"end": 1051,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1090,
"end": 1091,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1115,
"end": 1179,
"name": "PUSH [tag]",
"source": 2,
"value": "34"
},
{
"begin": 1171,
"end": 1178,
"name": "DUP5",
"source": 2
},
{
"begin": 1162,
"end": 1168,
"name": "DUP3",
"source": 2
},
{
"begin": 1151,
"end": 1160,
"name": "DUP6",
"source": 2
},
{
"begin": 1147,
"end": 1169,
"name": "ADD",
"source": 2
},
{
"begin": 1115,
"end": 1179,
"name": "PUSH [tag]",
"source": 2,
"value": "18"
},
{
"begin": 1115,
"end": 1179,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1115,
"end": 1179,
"name": "tag",
"source": 2,
"value": "34"
},
{
"begin": 1115,
"end": 1179,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1105,
"end": 1179,
"name": "SWAP2",
"source": 2
},
{
"begin": 1105,
"end": 1179,
"name": "POP",
"source": 2
},
{
"begin": 1061,
"end": 1189,
"name": "POP",
"source": 2
},
{
"begin": 845,
"end": 1196,
"name": "SWAP3",
"source": 2
},
{
"begin": 845,
"end": 1196,
"name": "SWAP2",
"source": 2
},
{
"begin": 845,
"end": 1196,
"name": "POP",
"source": 2
},
{
"begin": 845,
"end": 1196,
"name": "POP",
"source": 2
},
{
"begin": 845,
"end": 1196,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 3657,
"end": 4724,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH #[$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [$]",
"source": 1,
"value": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3657,
"end": 4724,
"name": "CODECOPY",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3657,
"end": 4724,
"name": "RETURN",
"source": 1
}
],
".data": {
"0": {
".auxdata": "a264697066735822122042a95abbf08960a6e61ddfd7c62b71e82174fa209b0bf57f470cc20850c2ba9c64736f6c63430008140033",
".code": [
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "80"
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3657,
"end": 4724,
"name": "MSTORE",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "CALLVALUE",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "ISZERO",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "1"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "REVERT",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "tag",
"source": 1,
"value": "1"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "POP",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 3657,
"end": 4724,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "LT",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "2"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3657,
"end": 4724,
"name": "CALLDATALOAD",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "E0"
},
{
"begin": 3657,
"end": 4724,
"name": "SHR",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "A694FC3A"
},
{
"begin": 3657,
"end": 4724,
"name": "GT",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "11"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "A694FC3A"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "7"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "C8F33C91"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "8"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "F2FDE38B"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "9"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "F3FEF3A3"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "10"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "2"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMP",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "tag",
"source": 1,
"value": "11"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "60217267"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "3"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "715018A6"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "4"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "72F702F3"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "5"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "8DA5CB5B"
},
{
"begin": 3657,
"end": 4724,
"name": "EQ",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH [tag]",
"source": 1,
"value": "6"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPI",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "tag",
"source": 1,
"value": "2"
},
{
"begin": 3657,
"end": 4724,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3657,
"end": 4724,
"name": "DUP1",
"source": 1
},
{
"begin": 3657,
"end": 4724,
"name": "REVERT",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "tag",
"source": 1,
"value": "3"
},
{
"begin": 3826,
"end": 3874,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH [tag]",
"source": 1,
"value": "12"
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 3826,
"end": 3874,
"name": "DUP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SUB",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "DUP2",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "ADD",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH [tag]",
"source": 1,
"value": "13"
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP2",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 3826,
"end": 3874,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "tag",
"source": 1,
"value": "13"
},
{
"begin": 3826,
"end": 3874,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH [tag]",
"source": 1,
"value": "15"
},
{
"begin": 3826,
"end": 3874,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "tag",
"source": 1,
"value": "12"
},
{
"begin": 3826,
"end": 3874,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3826,
"end": 3874,
"name": "MLOAD",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH [tag]",
"source": 1,
"value": "16"
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP2",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 3826,
"end": 3874,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "tag",
"source": 1,
"value": "16"
},
{
"begin": 3826,
"end": 3874,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3826,
"end": 3874,
"name": "MLOAD",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "DUP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP2",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SUB",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "RETURN",
"source": 1
},
{
"begin": 2845,
"end": 2946,
"name": "tag",
"source": 1,
"value": "4"
},
{
"begin": 2845,
"end": 2946,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2845,
"end": 2946,
"name": "PUSH [tag]",
"source": 1,
"value": "18"
},
{
"begin": 2845,
"end": 2946,
"name": "PUSH [tag]",
"source": 1,
"value": "19"
},
{
"begin": 2845,
"end": 2946,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2845,
"end": 2946,
"name": "tag",
"source": 1,
"value": "18"
},
{
"begin": 2845,
"end": 2946,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2845,
"end": 2946,
"name": "STOP",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "tag",
"source": 1,
"value": "5"
},
{
"begin": 3699,
"end": 3725,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH [tag]",
"source": 1,
"value": "20"
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH [tag]",
"source": 1,
"value": "21"
},
{
"begin": 3699,
"end": 3725,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "tag",
"source": 1,
"value": "20"
},
{
"begin": 3699,
"end": 3725,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3699,
"end": 3725,
"name": "MLOAD",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH [tag]",
"source": 1,
"value": "22"
},
{
"begin": 3699,
"end": 3725,
"name": "SWAP2",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "SWAP1",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH [tag]",
"source": 1,
"value": "23"
},
{
"begin": 3699,
"end": 3725,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "tag",
"source": 1,
"value": "22"
},
{
"begin": 3699,
"end": 3725,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3699,
"end": 3725,
"name": "MLOAD",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "DUP1",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "SWAP2",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "SUB",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "SWAP1",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "RETURN",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "tag",
"source": 1,
"value": "6"
},
{
"begin": 2190,
"end": 2275,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "PUSH [tag]",
"source": 1,
"value": "24"
},
{
"begin": 2190,
"end": 2275,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 2190,
"end": 2275,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "tag",
"source": 1,
"value": "24"
},
{
"begin": 2190,
"end": 2275,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2190,
"end": 2275,
"name": "MLOAD",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "PUSH [tag]",
"source": 1,
"value": "26"
},
{
"begin": 2190,
"end": 2275,
"name": "SWAP2",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "SWAP1",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 2190,
"end": 2275,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "tag",
"source": 1,
"value": "26"
},
{
"begin": 2190,
"end": 2275,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2190,
"end": 2275,
"name": "MLOAD",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "DUP1",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "SWAP2",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "SUB",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "SWAP1",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "RETURN",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "tag",
"source": 1,
"value": "7"
},
{
"begin": 4133,
"end": 4383,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "PUSH [tag]",
"source": 1,
"value": "28"
},
{
"begin": 4133,
"end": 4383,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4133,
"end": 4383,
"name": "DUP1",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "SUB",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "DUP2",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "ADD",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "SWAP1",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "PUSH [tag]",
"source": 1,
"value": "29"
},
{
"begin": 4133,
"end": 4383,
"name": "SWAP2",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "SWAP1",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "PUSH [tag]",
"source": 1,
"value": "30"
},
{
"begin": 4133,
"end": 4383,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "tag",
"source": 1,
"value": "29"
},
{
"begin": 4133,
"end": 4383,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "PUSH [tag]",
"source": 1,
"value": "31"
},
{
"begin": 4133,
"end": 4383,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "tag",
"source": 1,
"value": "28"
},
{
"begin": 4133,
"end": 4383,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "STOP",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "tag",
"source": 1,
"value": "8"
},
{
"begin": 3756,
"end": 3785,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "PUSH [tag]",
"source": 1,
"value": "32"
},
{
"begin": 3756,
"end": 3785,
"name": "PUSH [tag]",
"source": 1,
"value": "33"
},
{
"begin": 3756,
"end": 3785,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "tag",
"source": 1,
"value": "32"
},
{
"begin": 3756,
"end": 3785,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3756,
"end": 3785,
"name": "MLOAD",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "PUSH [tag]",
"source": 1,
"value": "34"
},
{
"begin": 3756,
"end": 3785,
"name": "SWAP2",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "SWAP1",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 3756,
"end": 3785,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "tag",
"source": 1,
"value": "34"
},
{
"begin": 3756,
"end": 3785,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3756,
"end": 3785,
"name": "MLOAD",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "DUP1",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "SWAP2",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "SUB",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "SWAP1",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "RETURN",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "tag",
"source": 1,
"value": "9"
},
{
"begin": 3095,
"end": 3310,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "PUSH [tag]",
"source": 1,
"value": "35"
},
{
"begin": 3095,
"end": 3310,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 3095,
"end": 3310,
"name": "DUP1",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "SUB",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "DUP2",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "ADD",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "SWAP1",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "PUSH [tag]",
"source": 1,
"value": "36"
},
{
"begin": 3095,
"end": 3310,
"name": "SWAP2",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "SWAP1",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "PUSH [tag]",
"source": 1,
"value": "14"
},
{
"begin": 3095,
"end": 3310,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "tag",
"source": 1,
"value": "36"
},
{
"begin": 3095,
"end": 3310,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "PUSH [tag]",
"source": 1,
"value": "37"
},
{
"begin": 3095,
"end": 3310,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "tag",
"source": 1,
"value": "35"
},
{
"begin": 3095,
"end": 3310,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "STOP",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "tag",
"source": 1,
"value": "10"
},
{
"begin": 4389,
"end": 4722,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "PUSH [tag]",
"source": 1,
"value": "38"
},
{
"begin": 4389,
"end": 4722,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4389,
"end": 4722,
"name": "DUP1",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "CALLDATASIZE",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "SUB",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "DUP2",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "ADD",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "SWAP1",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "PUSH [tag]",
"source": 1,
"value": "39"
},
{
"begin": 4389,
"end": 4722,
"name": "SWAP2",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "SWAP1",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "PUSH [tag]",
"source": 1,
"value": "40"
},
{
"begin": 4389,
"end": 4722,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "tag",
"source": 1,
"value": "39"
},
{
"begin": 4389,
"end": 4722,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "PUSH [tag]",
"source": 1,
"value": "41"
},
{
"begin": 4389,
"end": 4722,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "tag",
"source": 1,
"value": "38"
},
{
"begin": 4389,
"end": 4722,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "STOP",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "tag",
"source": 1,
"value": "15"
},
{
"begin": 3826,
"end": 3874,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "3"
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 3826,
"end": 3874,
"name": "MSTORE",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "DUP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3826,
"end": 3874,
"name": "MSTORE",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3826,
"end": 3874,
"name": "KECCAK256",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP2",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "POP",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SWAP1",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "POP",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "SLOAD",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"name": "DUP2",
"source": 1
},
{
"begin": 3826,
"end": 3874,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2845,
"end": 2946,
"name": "tag",
"source": 1,
"value": "19"
},
{
"begin": 2845,
"end": 2946,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2083,
"end": 2096,
"name": "PUSH [tag]",
"source": 1,
"value": "43"
},
{
"begin": 2083,
"end": 2094,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 2083,
"end": 2096,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2083,
"end": 2096,
"name": "tag",
"source": 1,
"value": "43"
},
{
"begin": 2083,
"end": 2096,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2909,
"end": 2939,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "46"
},
{
"begin": 2936,
"end": 2937,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2909,
"end": 2927,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 2909,
"end": 2939,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 2909,
"end": 2939,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "46"
},
{
"begin": 2909,
"end": 2939,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2845,
"end": 2946,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "tag",
"source": 1,
"value": "21"
},
{
"begin": 3699,
"end": 3725,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3699,
"end": 3725,
"name": "SWAP1",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "SLOAD",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "SWAP1",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 3699,
"end": 3725,
"name": "EXP",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "SWAP1",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "DIV",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3699,
"end": 3725,
"name": "AND",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"name": "DUP2",
"source": 1
},
{
"begin": 3699,
"end": 3725,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "tag",
"source": 1,
"value": "25"
},
{
"begin": 2190,
"end": 2275,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2236,
"end": 2243,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2262,
"end": 2268,
"name": "DUP1",
"source": 1
},
{
"begin": 2262,
"end": 2268,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 2262,
"end": 2268,
"name": "SWAP1",
"source": 1
},
{
"begin": 2262,
"end": 2268,
"name": "SLOAD",
"source": 1
},
{
"begin": 2262,
"end": 2268,
"name": "SWAP1",
"source": 1
},
{
"begin": 2262,
"end": 2268,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 2262,
"end": 2268,
"name": "EXP",
"source": 1
},
{
"begin": 2262,
"end": 2268,
"name": "SWAP1",
"source": 1
},
{
"begin": 2262,
"end": 2268,
"name": "DIV",
"source": 1
},
{
"begin": 2262,
"end": 2268,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2262,
"end": 2268,
"name": "AND",
"source": 1
},
{
"begin": 2255,
"end": 2268,
"name": "SWAP1",
"source": 1
},
{
"begin": 2255,
"end": 2268,
"name": "POP",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"name": "SWAP1",
"source": 1
},
{
"begin": 2190,
"end": 2275,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "tag",
"source": 1,
"value": "31"
},
{
"begin": 4133,
"end": 4383,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4200,
"end": 4201,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4191,
"end": 4197,
"name": "DUP2",
"source": 1
},
{
"begin": 4191,
"end": 4201,
"name": "GT",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "PUSH [tag]",
"source": 1,
"value": "50"
},
{
"begin": 4183,
"end": 4220,
"name": "JUMPI",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4183,
"end": 4220,
"name": "MLOAD",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "PUSH",
"source": 1,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4183,
"end": 4220,
"name": "DUP2",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "MSTORE",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4183,
"end": 4220,
"name": "ADD",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "PUSH [tag]",
"source": 1,
"value": "51"
},
{
"begin": 4183,
"end": 4220,
"name": "SWAP1",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "PUSH [tag]",
"source": 1,
"value": "52"
},
{
"begin": 4183,
"end": 4220,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "tag",
"source": 1,
"value": "51"
},
{
"begin": 4183,
"end": 4220,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4183,
"end": 4220,
"name": "MLOAD",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "DUP1",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "SWAP2",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "SUB",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "SWAP1",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "REVERT",
"source": 1
},
{
"begin": 4183,
"end": 4220,
"name": "tag",
"source": 1,
"value": "50"
},
{
"begin": 4183,
"end": 4220,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4230,
"end": 4242,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4230,
"end": 4242,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4230,
"end": 4242,
"name": "SWAP1",
"source": 1
},
{
"begin": 4230,
"end": 4242,
"name": "SLOAD",
"source": 1
},
{
"begin": 4230,
"end": 4242,
"name": "SWAP1",
"source": 1
},
{
"begin": 4230,
"end": 4242,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 4230,
"end": 4242,
"name": "EXP",
"source": 1
},
{
"begin": 4230,
"end": 4242,
"name": "SWAP1",
"source": 1
},
{
"begin": 4230,
"end": 4242,
"name": "DIV",
"source": 1
},
{
"begin": 4230,
"end": 4242,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4230,
"end": 4242,
"name": "AND",
"source": 1
},
{
"begin": 4230,
"end": 4255,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4230,
"end": 4255,
"name": "AND",
"source": 1
},
{
"begin": 4230,
"end": 4255,
"name": "PUSH",
"source": 1,
"value": "23B872DD"
},
{
"begin": 4256,
"end": 4266,
"name": "CALLER",
"source": 1
},
{
"begin": 4276,
"end": 4280,
"name": "ADDRESS",
"source": 1
},
{
"begin": 4283,
"end": 4289,
"name": "DUP5",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4230,
"end": 4290,
"name": "MLOAD",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP5",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFF"
},
{
"begin": 4230,
"end": 4290,
"name": "AND",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "E0"
},
{
"begin": 4230,
"end": 4290,
"name": "SHL",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP2",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "MSTORE",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4230,
"end": 4290,
"name": "ADD",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH [tag]",
"source": 1,
"value": "53"
},
{
"begin": 4230,
"end": 4290,
"name": "SWAP4",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "SWAP3",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "SWAP2",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "SWAP1",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH [tag]",
"source": 1,
"value": "54"
},
{
"begin": 4230,
"end": 4290,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "tag",
"source": 1,
"value": "53"
},
{
"begin": 4230,
"end": 4290,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4230,
"end": 4290,
"name": "MLOAD",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP1",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP4",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "SUB",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP2",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4230,
"end": 4290,
"name": "DUP8",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "GAS",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "CALL",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "ISZERO",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP1",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "ISZERO",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH [tag]",
"source": 1,
"value": "56"
},
{
"begin": 4230,
"end": 4290,
"name": "JUMPI",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "RETURNDATASIZE",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4230,
"end": 4290,
"name": "DUP1",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "RETURNDATACOPY",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "RETURNDATASIZE",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4230,
"end": 4290,
"name": "REVERT",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "tag",
"source": 1,
"value": "56"
},
{
"begin": 4230,
"end": 4290,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "POP",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "POP",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "POP",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "POP",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4230,
"end": 4290,
"name": "MLOAD",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "RETURNDATASIZE",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4230,
"end": 4290,
"name": "NOT",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4230,
"end": 4290,
"name": "DUP3",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "ADD",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "AND",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP3",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "ADD",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP1",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4230,
"end": 4290,
"name": "MSTORE",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "POP",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "DUP2",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "ADD",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "SWAP1",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH [tag]",
"source": 1,
"value": "57"
},
{
"begin": 4230,
"end": 4290,
"name": "SWAP2",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "SWAP1",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 4230,
"end": 4290,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "tag",
"source": 1,
"value": "57"
},
{
"begin": 4230,
"end": 4290,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4230,
"end": 4290,
"name": "POP",
"source": 1
},
{
"begin": 4329,
"end": 4335,
"name": "DUP1",
"source": 1
},
{
"begin": 4300,
"end": 4313,
"name": "PUSH",
"source": 1,
"value": "3"
},
{
"begin": 4300,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4314,
"end": 4324,
"name": "CALLER",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4300,
"end": 4325,
"name": "AND",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4300,
"end": 4325,
"name": "AND",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "DUP2",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "MSTORE",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4300,
"end": 4325,
"name": "ADD",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "SWAP1",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "DUP2",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "MSTORE",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4300,
"end": 4325,
"name": "ADD",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4300,
"end": 4325,
"name": "KECCAK256",
"source": 1
},
{
"begin": 4300,
"end": 4325,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4300,
"end": 4335,
"name": "DUP3",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "DUP3",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "SLOAD",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "PUSH [tag]",
"source": 1,
"value": "59"
},
{
"begin": 4300,
"end": 4335,
"name": "SWAP2",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "SWAP1",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "PUSH [tag]",
"source": 1,
"value": "60"
},
{
"begin": 4300,
"end": 4335,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "tag",
"source": 1,
"value": "59"
},
{
"begin": 4300,
"end": 4335,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "SWAP3",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "POP",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "POP",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "DUP2",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "SWAP1",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "SSTORE",
"source": 1
},
{
"begin": 4300,
"end": 4335,
"name": "POP",
"source": 1
},
{
"begin": 4357,
"end": 4367,
"name": "CALLER",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4350,
"end": 4376,
"name": "AND",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "PUSH",
"source": 1,
"value": "9E71BC8EEA02A63969F509818F2DAFB9254532904319F9DBDA79B67BD34A5F3D"
},
{
"begin": 4369,
"end": 4375,
"name": "DUP3",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4350,
"end": 4376,
"name": "MLOAD",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "PUSH [tag]",
"source": 1,
"value": "61"
},
{
"begin": 4350,
"end": 4376,
"name": "SWAP2",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "SWAP1",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 4350,
"end": 4376,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "tag",
"source": 1,
"value": "61"
},
{
"begin": 4350,
"end": 4376,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4350,
"end": 4376,
"name": "MLOAD",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "DUP1",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "SWAP2",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "SUB",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "SWAP1",
"source": 1
},
{
"begin": 4350,
"end": 4376,
"name": "LOG2",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"name": "POP",
"source": 1
},
{
"begin": 4133,
"end": 4383,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "tag",
"source": 1,
"value": "33"
},
{
"begin": 3756,
"end": 3785,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "PUSH",
"source": 1,
"value": "2"
},
{
"begin": 3756,
"end": 3785,
"name": "SLOAD",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"name": "DUP2",
"source": 1
},
{
"begin": 3756,
"end": 3785,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "tag",
"source": 1,
"value": "37"
},
{
"begin": 3095,
"end": 3310,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2083,
"end": 2096,
"name": "PUSH [tag]",
"source": 1,
"value": "63"
},
{
"begin": 2083,
"end": 2094,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 2083,
"end": 2096,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2083,
"end": 2096,
"name": "tag",
"source": 1,
"value": "63"
},
{
"begin": 2083,
"end": 2096,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3199,
"end": 3200,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3179,
"end": 3201,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3179,
"end": 3201,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 3179,
"end": 3187,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 3179,
"end": 3201,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3179,
"end": 3201,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 3179,
"end": 3201,
"name": "SUB",
"source": 1
},
{
"begin": 3175,
"end": 3266,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "65"
},
{
"begin": 3175,
"end": 3266,
"modifierDepth": 1,
"name": "JUMPI",
"source": 1
},
{
"begin": 3252,
"end": 3253,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1E4FBDF700000000000000000000000000000000000000000000000000000000"
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "66"
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 3224,
"end": 3255,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "66"
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "SUB",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 3224,
"end": 3255,
"modifierDepth": 1,
"name": "REVERT",
"source": 1
},
{
"begin": 3175,
"end": 3266,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "65"
},
{
"begin": 3175,
"end": 3266,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3275,
"end": 3303,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "67"
},
{
"begin": 3294,
"end": 3302,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 3275,
"end": 3293,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "47"
},
{
"begin": 3275,
"end": 3303,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 3275,
"end": 3303,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "67"
},
{
"begin": 3275,
"end": 3303,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"name": "POP",
"source": 1
},
{
"begin": 3095,
"end": 3310,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "tag",
"source": 1,
"value": "41"
},
{
"begin": 4389,
"end": 4722,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2083,
"end": 2096,
"name": "PUSH [tag]",
"source": 1,
"value": "69"
},
{
"begin": 2083,
"end": 2094,
"name": "PUSH [tag]",
"source": 1,
"value": "44"
},
{
"begin": 2083,
"end": 2096,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2083,
"end": 2096,
"name": "tag",
"source": 1,
"value": "69"
},
{
"begin": 2083,
"end": 2096,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4486,
"end": 4487,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4477,
"end": 4483,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4477,
"end": 4487,
"modifierDepth": 1,
"name": "GT",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "71"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "JUMPI",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "72"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "73"
},
{
"begin": 4469,
"end": 4509,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "72"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "SUB",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "REVERT",
"source": 1
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "71"
},
{
"begin": 4469,
"end": 4509,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4553,
"end": 4559,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4527,
"end": 4540,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "3"
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4541,
"end": 4548,
"modifierDepth": 1,
"name": "DUP5",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "KECCAK256",
"source": 1
},
{
"begin": 4527,
"end": 4549,
"modifierDepth": 1,
"name": "SLOAD",
"source": 1
},
{
"begin": 4527,
"end": 4559,
"modifierDepth": 1,
"name": "LT",
"source": 1
},
{
"begin": 4527,
"end": 4559,
"modifierDepth": 1,
"name": "ISZERO",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "74"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "JUMPI",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "8C379A000000000000000000000000000000000000000000000000000000000"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "75"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "76"
},
{
"begin": 4519,
"end": 4584,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "75"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "SUB",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "REVERT",
"source": 1
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "74"
},
{
"begin": 4519,
"end": 4584,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4620,
"end": 4626,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4594,
"end": 4607,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "3"
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4608,
"end": 4615,
"modifierDepth": 1,
"name": "DUP5",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "KECCAK256",
"source": 1
},
{
"begin": 4594,
"end": 4616,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "DUP3",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "DUP3",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "SLOAD",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "77"
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "78"
},
{
"begin": 4594,
"end": 4626,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "77"
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "SWAP3",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "SSTORE",
"source": 1
},
{
"begin": 4594,
"end": 4626,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1"
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "SLOAD",
"source": 1
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "EXP",
"source": 1
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "DIV",
"source": 1
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4636,
"end": 4648,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4636,
"end": 4657,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4636,
"end": 4657,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4636,
"end": 4657,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "A9059CBB"
},
{
"begin": 4658,
"end": 4665,
"modifierDepth": 1,
"name": "DUP4",
"source": 1
},
{
"begin": 4667,
"end": 4673,
"modifierDepth": 1,
"name": "DUP4",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP4",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFF"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "E0"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SHL",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "79"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SWAP3",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "80"
},
{
"begin": 4636,
"end": 4674,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "79"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "20"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP4",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SUB",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP8",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "GAS",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "CALL",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "ISZERO",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "ISZERO",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "82"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "JUMPI",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "RETURNDATASIZE",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4636,
"end": 4674,
"name": "DUP1",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "RETURNDATACOPY",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "RETURNDATASIZE",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "REVERT",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "82"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "RETURNDATASIZE",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "NOT",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "1F"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP3",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP3",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "MSTORE",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "ADD",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "83"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "58"
},
{
"begin": 4636,
"end": 4674,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "83"
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4636,
"end": 4674,
"modifierDepth": 1,
"name": "POP",
"source": 1
},
{
"begin": 4699,
"end": 4706,
"modifierDepth": 1,
"name": "DUP2",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "AND",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "7084F5476618D8E60B11EF0D7D3F06914655ADB8793E28FF7F018D4C76D505D5"
},
{
"begin": 4708,
"end": 4714,
"modifierDepth": 1,
"name": "DUP3",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "84"
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "PUSH [tag]",
"source": 1,
"value": "17"
},
{
"begin": 4689,
"end": 4715,
"jumpType": "[in]",
"modifierDepth": 1,
"name": "JUMP",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "tag",
"source": 1,
"value": "84"
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "MLOAD",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "DUP1",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "SWAP2",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "SUB",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "SWAP1",
"source": 1
},
{
"begin": 4689,
"end": 4715,
"modifierDepth": 1,
"name": "LOG2",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "POP",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"name": "POP",
"source": 1
},
{
"begin": 4389,
"end": 4722,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 2348,
"end": 2510,
"name": "tag",
"source": 1,
"value": "44"
},
{
"begin": 2348,
"end": 2510,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2418,
"end": 2430,
"name": "PUSH [tag]",
"source": 1,
"value": "86"
},
{
"begin": 2418,
"end": 2428,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 2418,
"end": 2430,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2418,
"end": 2430,
"name": "tag",
"source": 1,
"value": "86"
},
{
"begin": 2418,
"end": 2430,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2407,
"end": 2430,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2407,
"end": 2430,
"name": "AND",
"source": 1
},
{
"begin": 2407,
"end": 2414,
"name": "PUSH [tag]",
"source": 1,
"value": "88"
},
{
"begin": 2407,
"end": 2412,
"name": "PUSH [tag]",
"source": 1,
"value": "25"
},
{
"begin": 2407,
"end": 2414,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2407,
"end": 2414,
"name": "tag",
"source": 1,
"value": "88"
},
{
"begin": 2407,
"end": 2414,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2407,
"end": 2430,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 2407,
"end": 2430,
"name": "AND",
"source": 1
},
{
"begin": 2407,
"end": 2430,
"name": "EQ",
"source": 1
},
{
"begin": 2403,
"end": 2504,
"name": "PUSH [tag]",
"source": 1,
"value": "89"
},
{
"begin": 2403,
"end": 2504,
"name": "JUMPI",
"source": 1
},
{
"begin": 2480,
"end": 2492,
"name": "PUSH [tag]",
"source": 1,
"value": "90"
},
{
"begin": 2480,
"end": 2490,
"name": "PUSH [tag]",
"source": 1,
"value": "87"
},
{
"begin": 2480,
"end": 2492,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2480,
"end": 2492,
"name": "tag",
"source": 1,
"value": "90"
},
{
"begin": 2480,
"end": 2492,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2453,
"end": 2493,
"name": "MLOAD",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "PUSH",
"source": 1,
"value": "118CDAA700000000000000000000000000000000000000000000000000000000"
},
{
"begin": 2453,
"end": 2493,
"name": "DUP2",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "MSTORE",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "PUSH",
"source": 1,
"value": "4"
},
{
"begin": 2453,
"end": 2493,
"name": "ADD",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "PUSH [tag]",
"source": 1,
"value": "91"
},
{
"begin": 2453,
"end": 2493,
"name": "SWAP2",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "SWAP1",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "PUSH [tag]",
"source": 1,
"value": "27"
},
{
"begin": 2453,
"end": 2493,
"jumpType": "[in]",
"name": "JUMP",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "tag",
"source": 1,
"value": "91"
},
{
"begin": 2453,
"end": 2493,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 2453,
"end": 2493,
"name": "MLOAD",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "DUP1",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "SWAP2",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "SUB",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "SWAP1",
"source": 1
},
{
"begin": 2453,
"end": 2493,
"name": "REVERT",
"source": 1
},
{
"begin": 2403,
"end": 2504,
"name": "tag",
"source": 1,
"value": "89"
},
{
"begin": 2403,
"end": 2504,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 2348,
"end": 2510,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 3464,
"end": 3651,
"name": "tag",
"source": 1,
"value": "47"
},
{
"begin": 3464,
"end": 3651,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 3537,
"end": 3553,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3556,
"end": 3562,
"name": "DUP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3556,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "SLOAD",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 3556,
"end": 3562,
"name": "EXP",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "DIV",
"source": 1
},
{
"begin": 3556,
"end": 3562,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3556,
"end": 3562,
"name": "AND",
"source": 1
},
{
"begin": 3537,
"end": 3562,
"name": "SWAP1",
"source": 1
},
{
"begin": 3537,
"end": 3562,
"name": "POP",
"source": 1
},
{
"begin": 3581,
"end": 3589,
"name": "DUP2",
"source": 1
},
{
"begin": 3572,
"end": 3578,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 3572,
"end": 3578,
"name": "DUP1",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "100"
},
{
"begin": 3572,
"end": 3589,
"name": "EXP",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "DUP2",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SLOAD",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "DUP2",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3572,
"end": 3589,
"name": "MUL",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "NOT",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "AND",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SWAP1",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "DUP4",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3572,
"end": 3589,
"name": "AND",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "MUL",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "OR",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SWAP1",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "SSTORE",
"source": 1
},
{
"begin": 3572,
"end": 3589,
"name": "POP",
"source": 1
},
{
"begin": 3635,
"end": 3643,
"name": "DUP2",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3604,
"end": 3644,
"name": "AND",
"source": 1
},
{
"begin": 3625,
"end": 3633,
"name": "DUP2",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 3604,
"end": 3644,
"name": "AND",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0"
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3604,
"end": 3644,
"name": "MLOAD",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "PUSH",
"source": 1,
"value": "40"
},
{
"begin": 3604,
"end": 3644,
"name": "MLOAD",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "DUP1",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "SWAP2",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "SUB",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "SWAP1",
"source": 1
},
{
"begin": 3604,
"end": 3644,
"name": "LOG3",
"source": 1
},
{
"begin": 3527,
"end": 3651,
"name": "POP",
"source": 1
},
{
"begin": 3464,
"end": 3651,
"name": "POP",
"source": 1
},
{
"begin": 3464,
"end": 3651,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 647,
"end": 743,
"name": "tag",
"source": 1,
"value": "87"
},
{
"begin": 647,
"end": 743,
"name": "JUMPDEST",
"source": 1
},
{
"begin": 700,
"end": 707,
"name": "PUSH",
"source": 1,
"value": "0"
},
{
"begin": 726,
"end": 736,
"name": "CALLER",
"source": 1
},
{
"begin": 719,
"end": 736,
"name": "SWAP1",
"source": 1
},
{
"begin": 719,
"end": 736,
"name": "POP",
"source": 1
},
{
"begin": 647,
"end": 743,
"name": "SWAP1",
"source": 1
},
{
"begin": 647,
"end": 743,
"jumpType": "[out]",
"name": "JUMP",
"source": 1
},
{
"begin": 88,
"end": 205,
"name": "tag",
"source": 2,
"value": "95"
},
{
"begin": 88,
"end": 205,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 197,
"end": 198,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 194,
"end": 195,
"name": "DUP1",
"source": 2
},
{
"begin": 187,
"end": 199,
"name": "REVERT",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "tag",
"source": 2,
"value": "97"
},
{
"begin": 334,
"end": 460,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 371,
"end": 378,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 411,
"end": 453,
"name": "PUSH",
"source": 2,
"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
},
{
"begin": 404,
"end": 409,
"name": "DUP3",
"source": 2
},
{
"begin": 400,
"end": 454,
"name": "AND",
"source": 2
},
{
"begin": 389,
"end": 454,
"name": "SWAP1",
"source": 2
},
{
"begin": 389,
"end": 454,
"name": "POP",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "SWAP2",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "SWAP1",
"source": 2
},
{
"begin": 334,
"end": 460,
"name": "POP",
"source": 2
},
{
"begin": 334,
"end": 460,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "tag",
"source": 2,
"value": "98"
},
{
"begin": 466,
"end": 562,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 503,
"end": 510,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 2,
"value": "128"
},
{
"begin": 550,
"end": 555,
"name": "DUP3",
"source": 2
},
{
"begin": 532,
"end": 556,
"name": "PUSH [tag]",
"source": 2,
"value": "97"
},
{
"begin": 532,
"end": 556,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 532,
"end": 556,
"name": "tag",
"source": 2,
"value": "128"
},
{
"begin": 532,
"end": 556,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 521,
"end": 556,
"name": "SWAP1",
"source": 2
},
{
"begin": 521,
"end": 556,
"name": "POP",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "SWAP2",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "SWAP1",
"source": 2
},
{
"begin": 466,
"end": 562,
"name": "POP",
"source": 2
},
{
"begin": 466,
"end": 562,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 568,
"end": 690,
"name": "tag",
"source": 2,
"value": "99"
},
{
"begin": 568,
"end": 690,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 2,
"value": "130"
},
{
"begin": 659,
"end": 664,
"name": "DUP2",
"source": 2
},
{
"begin": 641,
"end": 665,
"name": "PUSH [tag]",
"source": 2,
"value": "98"
},
{
"begin": 641,
"end": 665,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 641,
"end": 665,
"name": "tag",
"source": 2,
"value": "130"
},
{
"begin": 641,
"end": 665,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 634,
"end": 639,
"name": "DUP2",
"source": 2
},
{
"begin": 631,
"end": 666,
"name": "EQ",
"source": 2
},
{
"begin": 621,
"end": 684,
"name": "PUSH [tag]",
"source": 2,
"value": "131"
},
{
"begin": 621,
"end": 684,
"name": "JUMPI",
"source": 2
},
{
"begin": 680,
"end": 681,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 677,
"end": 678,
"name": "DUP1",
"source": 2
},
{
"begin": 670,
"end": 682,
"name": "REVERT",
"source": 2
},
{
"begin": 621,
"end": 684,
"name": "tag",
"source": 2,
"value": "131"
},
{
"begin": 621,
"end": 684,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 568,
"end": 690,
"name": "POP",
"source": 2
},
{
"begin": 568,
"end": 690,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 696,
"end": 835,
"name": "tag",
"source": 2,
"value": "100"
},
{
"begin": 696,
"end": 835,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 742,
"end": 747,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 780,
"end": 786,
"name": "DUP2",
"source": 2
},
{
"begin": 767,
"end": 787,
"name": "CALLDATALOAD",
"source": 2
},
{
"begin": 758,
"end": 787,
"name": "SWAP1",
"source": 2
},
{
"begin": 758,
"end": 787,
"name": "POP",
"source": 2
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 2,
"value": "133"
},
{
"begin": 823,
"end": 828,
"name": "DUP2",
"source": 2
},
{
"begin": 796,
"end": 829,
"name": "PUSH [tag]",
"source": 2,
"value": "99"
},
{
"begin": 796,
"end": 829,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 796,
"end": 829,
"name": "tag",
"source": 2,
"value": "133"
},
{
"begin": 796,
"end": 829,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 696,
"end": 835,
"name": "SWAP3",
"source": 2
},
{
"begin": 696,
"end": 835,
"name": "SWAP2",
"source": 2
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 2
},
{
"begin": 696,
"end": 835,
"name": "POP",
"source": 2
},
{
"begin": 696,
"end": 835,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 841,
"end": 1170,
"name": "tag",
"source": 2,
"value": "14"
},
{
"begin": 841,
"end": 1170,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 900,
"end": 906,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 949,
"end": 951,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 937,
"end": 946,
"name": "DUP3",
"source": 2
},
{
"begin": 928,
"end": 935,
"name": "DUP5",
"source": 2
},
{
"begin": 924,
"end": 947,
"name": "SUB",
"source": 2
},
{
"begin": 920,
"end": 952,
"name": "SLT",
"source": 2
},
{
"begin": 917,
"end": 1036,
"name": "ISZERO",
"source": 2
},
{
"begin": 917,
"end": 1036,
"name": "PUSH [tag]",
"source": 2,
"value": "135"
},
{
"begin": 917,
"end": 1036,
"name": "JUMPI",
"source": 2
},
{
"begin": 955,
"end": 1034,
"name": "PUSH [tag]",
"source": 2,
"value": "136"
},
{
"begin": 955,
"end": 1034,
"name": "PUSH [tag]",
"source": 2,
"value": "95"
},
{
"begin": 955,
"end": 1034,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 955,
"end": 1034,
"name": "tag",
"source": 2,
"value": "136"
},
{
"begin": 955,
"end": 1034,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 917,
"end": 1036,
"name": "tag",
"source": 2,
"value": "135"
},
{
"begin": 917,
"end": 1036,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1075,
"end": 1076,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1100,
"end": 1153,
"name": "PUSH [tag]",
"source": 2,
"value": "137"
},
{
"begin": 1145,
"end": 1152,
"name": "DUP5",
"source": 2
},
{
"begin": 1136,
"end": 1142,
"name": "DUP3",
"source": 2
},
{
"begin": 1125,
"end": 1134,
"name": "DUP6",
"source": 2
},
{
"begin": 1121,
"end": 1143,
"name": "ADD",
"source": 2
},
{
"begin": 1100,
"end": 1153,
"name": "PUSH [tag]",
"source": 2,
"value": "100"
},
{
"begin": 1100,
"end": 1153,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1100,
"end": 1153,
"name": "tag",
"source": 2,
"value": "137"
},
{
"begin": 1100,
"end": 1153,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1090,
"end": 1153,
"name": "SWAP2",
"source": 2
},
{
"begin": 1090,
"end": 1153,
"name": "POP",
"source": 2
},
{
"begin": 1046,
"end": 1163,
"name": "POP",
"source": 2
},
{
"begin": 841,
"end": 1170,
"name": "SWAP3",
"source": 2
},
{
"begin": 841,
"end": 1170,
"name": "SWAP2",
"source": 2
},
{
"begin": 841,
"end": 1170,
"name": "POP",
"source": 2
},
{
"begin": 841,
"end": 1170,
"name": "POP",
"source": 2
},
{
"begin": 841,
"end": 1170,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1176,
"end": 1253,
"name": "tag",
"source": 2,
"value": "101"
},
{
"begin": 1176,
"end": 1253,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1213,
"end": 1220,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1242,
"end": 1247,
"name": "DUP2",
"source": 2
},
{
"begin": 1231,
"end": 1247,
"name": "SWAP1",
"source": 2
},
{
"begin": 1231,
"end": 1247,
"name": "POP",
"source": 2
},
{
"begin": 1176,
"end": 1253,
"name": "SWAP2",
"source": 2
},
{
"begin": 1176,
"end": 1253,
"name": "SWAP1",
"source": 2
},
{
"begin": 1176,
"end": 1253,
"name": "POP",
"source": 2
},
{
"begin": 1176,
"end": 1253,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1259,
"end": 1377,
"name": "tag",
"source": 2,
"value": "102"
},
{
"begin": 1259,
"end": 1377,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH [tag]",
"source": 2,
"value": "140"
},
{
"begin": 1364,
"end": 1369,
"name": "DUP2",
"source": 2
},
{
"begin": 1346,
"end": 1370,
"name": "PUSH [tag]",
"source": 2,
"value": "101"
},
{
"begin": 1346,
"end": 1370,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1346,
"end": 1370,
"name": "tag",
"source": 2,
"value": "140"
},
{
"begin": 1346,
"end": 1370,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1341,
"end": 1344,
"name": "DUP3",
"source": 2
},
{
"begin": 1334,
"end": 1371,
"name": "MSTORE",
"source": 2
},
{
"begin": 1259,
"end": 1377,
"name": "POP",
"source": 2
},
{
"begin": 1259,
"end": 1377,
"name": "POP",
"source": 2
},
{
"begin": 1259,
"end": 1377,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1383,
"end": 1605,
"name": "tag",
"source": 2,
"value": "17"
},
{
"begin": 1383,
"end": 1605,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1476,
"end": 1480,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1514,
"end": 1516,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 1503,
"end": 1512,
"name": "DUP3",
"source": 2
},
{
"begin": 1499,
"end": 1517,
"name": "ADD",
"source": 2
},
{
"begin": 1491,
"end": 1517,
"name": "SWAP1",
"source": 2
},
{
"begin": 1491,
"end": 1517,
"name": "POP",
"source": 2
},
{
"begin": 1527,
"end": 1598,
"name": "PUSH [tag]",
"source": 2,
"value": "142"
},
{
"begin": 1595,
"end": 1596,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1584,
"end": 1593,
"name": "DUP4",
"source": 2
},
{
"begin": 1580,
"end": 1597,
"name": "ADD",
"source": 2
},
{
"begin": 1571,
"end": 1577,
"name": "DUP5",
"source": 2
},
{
"begin": 1527,
"end": 1598,
"name": "PUSH [tag]",
"source": 2,
"value": "102"
},
{
"begin": 1527,
"end": 1598,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1527,
"end": 1598,
"name": "tag",
"source": 2,
"value": "142"
},
{
"begin": 1527,
"end": 1598,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1383,
"end": 1605,
"name": "SWAP3",
"source": 2
},
{
"begin": 1383,
"end": 1605,
"name": "SWAP2",
"source": 2
},
{
"begin": 1383,
"end": 1605,
"name": "POP",
"source": 2
},
{
"begin": 1383,
"end": 1605,
"name": "POP",
"source": 2
},
{
"begin": 1383,
"end": 1605,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1611,
"end": 1671,
"name": "tag",
"source": 2,
"value": "103"
},
{
"begin": 1611,
"end": 1671,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1639,
"end": 1642,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1660,
"end": 1665,
"name": "DUP2",
"source": 2
},
{
"begin": 1653,
"end": 1665,
"name": "SWAP1",
"source": 2
},
{
"begin": 1653,
"end": 1665,
"name": "POP",
"source": 2
},
{
"begin": 1611,
"end": 1671,
"name": "SWAP2",
"source": 2
},
{
"begin": 1611,
"end": 1671,
"name": "SWAP1",
"source": 2
},
{
"begin": 1611,
"end": 1671,
"name": "POP",
"source": 2
},
{
"begin": 1611,
"end": 1671,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1677,
"end": 1819,
"name": "tag",
"source": 2,
"value": "104"
},
{
"begin": 1677,
"end": 1819,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1727,
"end": 1736,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1760,
"end": 1813,
"name": "PUSH [tag]",
"source": 2,
"value": "145"
},
{
"begin": 1778,
"end": 1812,
"name": "PUSH [tag]",
"source": 2,
"value": "146"
},
{
"begin": 1787,
"end": 1811,
"name": "PUSH [tag]",
"source": 2,
"value": "147"
},
{
"begin": 1805,
"end": 1810,
"name": "DUP5",
"source": 2
},
{
"begin": 1787,
"end": 1811,
"name": "PUSH [tag]",
"source": 2,
"value": "97"
},
{
"begin": 1787,
"end": 1811,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1787,
"end": 1811,
"name": "tag",
"source": 2,
"value": "147"
},
{
"begin": 1787,
"end": 1811,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1778,
"end": 1812,
"name": "PUSH [tag]",
"source": 2,
"value": "103"
},
{
"begin": 1778,
"end": 1812,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1778,
"end": 1812,
"name": "tag",
"source": 2,
"value": "146"
},
{
"begin": 1778,
"end": 1812,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1760,
"end": 1813,
"name": "PUSH [tag]",
"source": 2,
"value": "97"
},
{
"begin": 1760,
"end": 1813,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1760,
"end": 1813,
"name": "tag",
"source": 2,
"value": "145"
},
{
"begin": 1760,
"end": 1813,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1747,
"end": 1813,
"name": "SWAP1",
"source": 2
},
{
"begin": 1747,
"end": 1813,
"name": "POP",
"source": 2
},
{
"begin": 1677,
"end": 1819,
"name": "SWAP2",
"source": 2
},
{
"begin": 1677,
"end": 1819,
"name": "SWAP1",
"source": 2
},
{
"begin": 1677,
"end": 1819,
"name": "POP",
"source": 2
},
{
"begin": 1677,
"end": 1819,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1825,
"end": 1951,
"name": "tag",
"source": 2,
"value": "105"
},
{
"begin": 1825,
"end": 1951,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1875,
"end": 1884,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 1908,
"end": 1945,
"name": "PUSH [tag]",
"source": 2,
"value": "149"
},
{
"begin": 1939,
"end": 1944,
"name": "DUP3",
"source": 2
},
{
"begin": 1908,
"end": 1945,
"name": "PUSH [tag]",
"source": 2,
"value": "104"
},
{
"begin": 1908,
"end": 1945,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 1908,
"end": 1945,
"name": "tag",
"source": 2,
"value": "149"
},
{
"begin": 1908,
"end": 1945,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 1895,
"end": 1945,
"name": "SWAP1",
"source": 2
},
{
"begin": 1895,
"end": 1945,
"name": "POP",
"source": 2
},
{
"begin": 1825,
"end": 1951,
"name": "SWAP2",
"source": 2
},
{
"begin": 1825,
"end": 1951,
"name": "SWAP1",
"source": 2
},
{
"begin": 1825,
"end": 1951,
"name": "POP",
"source": 2
},
{
"begin": 1825,
"end": 1951,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 1957,
"end": 2096,
"name": "tag",
"source": 2,
"value": "106"
},
{
"begin": 1957,
"end": 2096,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2020,
"end": 2029,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 2053,
"end": 2090,
"name": "PUSH [tag]",
"source": 2,
"value": "151"
},
{
"begin": 2084,
"end": 2089,
"name": "DUP3",
"source": 2
},
{
"begin": 2053,
"end": 2090,
"name": "PUSH [tag]",
"source": 2,
"value": "105"
},
{
"begin": 2053,
"end": 2090,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 2053,
"end": 2090,
"name": "tag",
"source": 2,
"value": "151"
},
{
"begin": 2053,
"end": 2090,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2040,
"end": 2090,
"name": "SWAP1",
"source": 2
},
{
"begin": 2040,
"end": 2090,
"name": "POP",
"source": 2
},
{
"begin": 1957,
"end": 2096,
"name": "SWAP2",
"source": 2
},
{
"begin": 1957,
"end": 2096,
"name": "SWAP1",
"source": 2
},
{
"begin": 1957,
"end": 2096,
"name": "POP",
"source": 2
},
{
"begin": 1957,
"end": 2096,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 2102,
"end": 2259,
"name": "tag",
"source": 2,
"value": "107"
},
{
"begin": 2102,
"end": 2259,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2202,
"end": 2252,
"name": "PUSH [tag]",
"source": 2,
"value": "153"
},
{
"begin": 2246,
"end": 2251,
"name": "DUP2",
"source": 2
},
{
"begin": 2202,
"end": 2252,
"name": "PUSH [tag]",
"source": 2,
"value": "106"
},
{
"begin": 2202,
"end": 2252,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 2202,
"end": 2252,
"name": "tag",
"source": 2,
"value": "153"
},
{
"begin": 2202,
"end": 2252,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2197,
"end": 2200,
"name": "DUP3",
"source": 2
},
{
"begin": 2190,
"end": 2253,
"name": "MSTORE",
"source": 2
},
{
"begin": 2102,
"end": 2259,
"name": "POP",
"source": 2
},
{
"begin": 2102,
"end": 2259,
"name": "POP",
"source": 2
},
{
"begin": 2102,
"end": 2259,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 2265,
"end": 2513,
"name": "tag",
"source": 2,
"value": "23"
},
{
"begin": 2265,
"end": 2513,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2371,
"end": 2375,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 2409,
"end": 2411,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 2398,
"end": 2407,
"name": "DUP3",
"source": 2
},
{
"begin": 2394,
"end": 2412,
"name": "ADD",
"source": 2
},
{
"begin": 2386,
"end": 2412,
"name": "SWAP1",
"source": 2
},
{
"begin": 2386,
"end": 2412,
"name": "POP",
"source": 2
},
{
"begin": 2422,
"end": 2506,
"name": "PUSH [tag]",
"source": 2,
"value": "155"
},
{
"begin": 2503,
"end": 2504,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 2492,
"end": 2501,
"name": "DUP4",
"source": 2
},
{
"begin": 2488,
"end": 2505,
"name": "ADD",
"source": 2
},
{
"begin": 2479,
"end": 2485,
"name": "DUP5",
"source": 2
},
{
"begin": 2422,
"end": 2506,
"name": "PUSH [tag]",
"source": 2,
"value": "107"
},
{
"begin": 2422,
"end": 2506,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 2422,
"end": 2506,
"name": "tag",
"source": 2,
"value": "155"
},
{
"begin": 2422,
"end": 2506,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2265,
"end": 2513,
"name": "SWAP3",
"source": 2
},
{
"begin": 2265,
"end": 2513,
"name": "SWAP2",
"source": 2
},
{
"begin": 2265,
"end": 2513,
"name": "POP",
"source": 2
},
{
"begin": 2265,
"end": 2513,
"name": "POP",
"source": 2
},
{
"begin": 2265,
"end": 2513,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 2519,
"end": 2637,
"name": "tag",
"source": 2,
"value": "108"
},
{
"begin": 2519,
"end": 2637,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2606,
"end": 2630,
"name": "PUSH [tag]",
"source": 2,
"value": "157"
},
{
"begin": 2624,
"end": 2629,
"name": "DUP2",
"source": 2
},
{
"begin": 2606,
"end": 2630,
"name": "PUSH [tag]",
"source": 2,
"value": "98"
},
{
"begin": 2606,
"end": 2630,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 2606,
"end": 2630,
"name": "tag",
"source": 2,
"value": "157"
},
{
"begin": 2606,
"end": 2630,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2601,
"end": 2604,
"name": "DUP3",
"source": 2
},
{
"begin": 2594,
"end": 2631,
"name": "MSTORE",
"source": 2
},
{
"begin": 2519,
"end": 2637,
"name": "POP",
"source": 2
},
{
"begin": 2519,
"end": 2637,
"name": "POP",
"source": 2
},
{
"begin": 2519,
"end": 2637,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 2643,
"end": 2865,
"name": "tag",
"source": 2,
"value": "27"
},
{
"begin": 2643,
"end": 2865,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2736,
"end": 2740,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 2774,
"end": 2776,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 2763,
"end": 2772,
"name": "DUP3",
"source": 2
},
{
"begin": 2759,
"end": 2777,
"name": "ADD",
"source": 2
},
{
"begin": 2751,
"end": 2777,
"name": "SWAP1",
"source": 2
},
{
"begin": 2751,
"end": 2777,
"name": "POP",
"source": 2
},
{
"begin": 2787,
"end": 2858,
"name": "PUSH [tag]",
"source": 2,
"value": "159"
},
{
"begin": 2855,
"end": 2856,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 2844,
"end": 2853,
"name": "DUP4",
"source": 2
},
{
"begin": 2840,
"end": 2857,
"name": "ADD",
"source": 2
},
{
"begin": 2831,
"end": 2837,
"name": "DUP5",
"source": 2
},
{
"begin": 2787,
"end": 2858,
"name": "PUSH [tag]",
"source": 2,
"value": "108"
},
{
"begin": 2787,
"end": 2858,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 2787,
"end": 2858,
"name": "tag",
"source": 2,
"value": "159"
},
{
"begin": 2787,
"end": 2858,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2643,
"end": 2865,
"name": "SWAP3",
"source": 2
},
{
"begin": 2643,
"end": 2865,
"name": "SWAP2",
"source": 2
},
{
"begin": 2643,
"end": 2865,
"name": "POP",
"source": 2
},
{
"begin": 2643,
"end": 2865,
"name": "POP",
"source": 2
},
{
"begin": 2643,
"end": 2865,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 2871,
"end": 2993,
"name": "tag",
"source": 2,
"value": "109"
},
{
"begin": 2871,
"end": 2993,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2944,
"end": 2968,
"name": "PUSH [tag]",
"source": 2,
"value": "161"
},
{
"begin": 2962,
"end": 2967,
"name": "DUP2",
"source": 2
},
{
"begin": 2944,
"end": 2968,
"name": "PUSH [tag]",
"source": 2,
"value": "101"
},
{
"begin": 2944,
"end": 2968,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 2944,
"end": 2968,
"name": "tag",
"source": 2,
"value": "161"
},
{
"begin": 2944,
"end": 2968,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2937,
"end": 2942,
"name": "DUP2",
"source": 2
},
{
"begin": 2934,
"end": 2969,
"name": "EQ",
"source": 2
},
{
"begin": 2924,
"end": 2987,
"name": "PUSH [tag]",
"source": 2,
"value": "162"
},
{
"begin": 2924,
"end": 2987,
"name": "JUMPI",
"source": 2
},
{
"begin": 2983,
"end": 2984,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 2980,
"end": 2981,
"name": "DUP1",
"source": 2
},
{
"begin": 2973,
"end": 2985,
"name": "REVERT",
"source": 2
},
{
"begin": 2924,
"end": 2987,
"name": "tag",
"source": 2,
"value": "162"
},
{
"begin": 2924,
"end": 2987,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2871,
"end": 2993,
"name": "POP",
"source": 2
},
{
"begin": 2871,
"end": 2993,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 2999,
"end": 3138,
"name": "tag",
"source": 2,
"value": "110"
},
{
"begin": 2999,
"end": 3138,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3045,
"end": 3050,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 3083,
"end": 3089,
"name": "DUP2",
"source": 2
},
{
"begin": 3070,
"end": 3090,
"name": "CALLDATALOAD",
"source": 2
},
{
"begin": 3061,
"end": 3090,
"name": "SWAP1",
"source": 2
},
{
"begin": 3061,
"end": 3090,
"name": "POP",
"source": 2
},
{
"begin": 3099,
"end": 3132,
"name": "PUSH [tag]",
"source": 2,
"value": "164"
},
{
"begin": 3126,
"end": 3131,
"name": "DUP2",
"source": 2
},
{
"begin": 3099,
"end": 3132,
"name": "PUSH [tag]",
"source": 2,
"value": "109"
},
{
"begin": 3099,
"end": 3132,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 3099,
"end": 3132,
"name": "tag",
"source": 2,
"value": "164"
},
{
"begin": 3099,
"end": 3132,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 2999,
"end": 3138,
"name": "SWAP3",
"source": 2
},
{
"begin": 2999,
"end": 3138,
"name": "SWAP2",
"source": 2
},
{
"begin": 2999,
"end": 3138,
"name": "POP",
"source": 2
},
{
"begin": 2999,
"end": 3138,
"name": "POP",
"source": 2
},
{
"begin": 2999,
"end": 3138,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 3144,
"end": 3473,
"name": "tag",
"source": 2,
"value": "30"
},
{
"begin": 3144,
"end": 3473,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3203,
"end": 3209,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 3252,
"end": 3254,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 3240,
"end": 3249,
"name": "DUP3",
"source": 2
},
{
"begin": 3231,
"end": 3238,
"name": "DUP5",
"source": 2
},
{
"begin": 3227,
"end": 3250,
"name": "SUB",
"source": 2
},
{
"begin": 3223,
"end": 3255,
"name": "SLT",
"source": 2
},
{
"begin": 3220,
"end": 3339,
"name": "ISZERO",
"source": 2
},
{
"begin": 3220,
"end": 3339,
"name": "PUSH [tag]",
"source": 2,
"value": "166"
},
{
"begin": 3220,
"end": 3339,
"name": "JUMPI",
"source": 2
},
{
"begin": 3258,
"end": 3337,
"name": "PUSH [tag]",
"source": 2,
"value": "167"
},
{
"begin": 3258,
"end": 3337,
"name": "PUSH [tag]",
"source": 2,
"value": "95"
},
{
"begin": 3258,
"end": 3337,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 3258,
"end": 3337,
"name": "tag",
"source": 2,
"value": "167"
},
{
"begin": 3258,
"end": 3337,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3220,
"end": 3339,
"name": "tag",
"source": 2,
"value": "166"
},
{
"begin": 3220,
"end": 3339,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3378,
"end": 3379,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 3403,
"end": 3456,
"name": "PUSH [tag]",
"source": 2,
"value": "168"
},
{
"begin": 3448,
"end": 3455,
"name": "DUP5",
"source": 2
},
{
"begin": 3439,
"end": 3445,
"name": "DUP3",
"source": 2
},
{
"begin": 3428,
"end": 3437,
"name": "DUP6",
"source": 2
},
{
"begin": 3424,
"end": 3446,
"name": "ADD",
"source": 2
},
{
"begin": 3403,
"end": 3456,
"name": "PUSH [tag]",
"source": 2,
"value": "110"
},
{
"begin": 3403,
"end": 3456,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 3403,
"end": 3456,
"name": "tag",
"source": 2,
"value": "168"
},
{
"begin": 3403,
"end": 3456,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3393,
"end": 3456,
"name": "SWAP2",
"source": 2
},
{
"begin": 3393,
"end": 3456,
"name": "POP",
"source": 2
},
{
"begin": 3349,
"end": 3466,
"name": "POP",
"source": 2
},
{
"begin": 3144,
"end": 3473,
"name": "SWAP3",
"source": 2
},
{
"begin": 3144,
"end": 3473,
"name": "SWAP2",
"source": 2
},
{
"begin": 3144,
"end": 3473,
"name": "POP",
"source": 2
},
{
"begin": 3144,
"end": 3473,
"name": "POP",
"source": 2
},
{
"begin": 3144,
"end": 3473,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 3479,
"end": 3953,
"name": "tag",
"source": 2,
"value": "40"
},
{
"begin": 3479,
"end": 3953,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3547,
"end": 3553,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 3555,
"end": 3561,
"name": "DUP1",
"source": 2
},
{
"begin": 3604,
"end": 3606,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 3592,
"end": 3601,
"name": "DUP4",
"source": 2
},
{
"begin": 3583,
"end": 3590,
"name": "DUP6",
"source": 2
},
{
"begin": 3579,
"end": 3602,
"name": "SUB",
"source": 2
},
{
"begin": 3575,
"end": 3607,
"name": "SLT",
"source": 2
},
{
"begin": 3572,
"end": 3691,
"name": "ISZERO",
"source": 2
},
{
"begin": 3572,
"end": 3691,
"name": "PUSH [tag]",
"source": 2,
"value": "170"
},
{
"begin": 3572,
"end": 3691,
"name": "JUMPI",
"source": 2
},
{
"begin": 3610,
"end": 3689,
"name": "PUSH [tag]",
"source": 2,
"value": "171"
},
{
"begin": 3610,
"end": 3689,
"name": "PUSH [tag]",
"source": 2,
"value": "95"
},
{
"begin": 3610,
"end": 3689,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 3610,
"end": 3689,
"name": "tag",
"source": 2,
"value": "171"
},
{
"begin": 3610,
"end": 3689,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3572,
"end": 3691,
"name": "tag",
"source": 2,
"value": "170"
},
{
"begin": 3572,
"end": 3691,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3730,
"end": 3731,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 3755,
"end": 3808,
"name": "PUSH [tag]",
"source": 2,
"value": "172"
},
{
"begin": 3800,
"end": 3807,
"name": "DUP6",
"source": 2
},
{
"begin": 3791,
"end": 3797,
"name": "DUP3",
"source": 2
},
{
"begin": 3780,
"end": 3789,
"name": "DUP7",
"source": 2
},
{
"begin": 3776,
"end": 3798,
"name": "ADD",
"source": 2
},
{
"begin": 3755,
"end": 3808,
"name": "PUSH [tag]",
"source": 2,
"value": "100"
},
{
"begin": 3755,
"end": 3808,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 3755,
"end": 3808,
"name": "tag",
"source": 2,
"value": "172"
},
{
"begin": 3755,
"end": 3808,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3745,
"end": 3808,
"name": "SWAP3",
"source": 2
},
{
"begin": 3745,
"end": 3808,
"name": "POP",
"source": 2
},
{
"begin": 3701,
"end": 3818,
"name": "POP",
"source": 2
},
{
"begin": 3857,
"end": 3859,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 3883,
"end": 3936,
"name": "PUSH [tag]",
"source": 2,
"value": "173"
},
{
"begin": 3928,
"end": 3935,
"name": "DUP6",
"source": 2
},
{
"begin": 3919,
"end": 3925,
"name": "DUP3",
"source": 2
},
{
"begin": 3908,
"end": 3917,
"name": "DUP7",
"source": 2
},
{
"begin": 3904,
"end": 3926,
"name": "ADD",
"source": 2
},
{
"begin": 3883,
"end": 3936,
"name": "PUSH [tag]",
"source": 2,
"value": "110"
},
{
"begin": 3883,
"end": 3936,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 3883,
"end": 3936,
"name": "tag",
"source": 2,
"value": "173"
},
{
"begin": 3883,
"end": 3936,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 3873,
"end": 3936,
"name": "SWAP2",
"source": 2
},
{
"begin": 3873,
"end": 3936,
"name": "POP",
"source": 2
},
{
"begin": 3828,
"end": 3946,
"name": "POP",
"source": 2
},
{
"begin": 3479,
"end": 3953,
"name": "SWAP3",
"source": 2
},
{
"begin": 3479,
"end": 3953,
"name": "POP",
"source": 2
},
{
"begin": 3479,
"end": 3953,
"name": "SWAP3",
"source": 2
},
{
"begin": 3479,
"end": 3953,
"name": "SWAP1",
"source": 2
},
{
"begin": 3479,
"end": 3953,
"name": "POP",
"source": 2
},
{
"begin": 3479,
"end": 3953,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 3959,
"end": 4128,
"name": "tag",
"source": 2,
"value": "111"
},
{
"begin": 3959,
"end": 4128,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 4043,
"end": 4054,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 4077,
"end": 4083,
"name": "DUP3",
"source": 2
},
{
"begin": 4072,
"end": 4075,
"name": "DUP3",
"source": 2
},
{
"begin": 4065,
"end": 4084,
"name": "MSTORE",
"source": 2
},
{
"begin": 4117,
"end": 4121,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 4112,
"end": 4115,
"name": "DUP3",
"source": 2
},
{
"begin": 4108,
"end": 4122,
"name": "ADD",
"source": 2
},
{
"begin": 4093,
"end": 4122,
"name": "SWAP1",
"source": 2
},
{
"begin": 4093,
"end": 4122,
"name": "POP",
"source": 2
},
{
"begin": 3959,
"end": 4128,
"name": "SWAP3",
"source": 2
},
{
"begin": 3959,
"end": 4128,
"name": "SWAP2",
"source": 2
},
{
"begin": 3959,
"end": 4128,
"name": "POP",
"source": 2
},
{
"begin": 3959,
"end": 4128,
"name": "POP",
"source": 2
},
{
"begin": 3959,
"end": 4128,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 4134,
"end": 4298,
"name": "tag",
"source": 2,
"value": "112"
},
{
"begin": 4134,
"end": 4298,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 4274,
"end": 4290,
"name": "PUSH",
"source": 2,
"value": "43616E6E6F74207374616B652030000000000000000000000000000000000000"
},
{
"begin": 4270,
"end": 4271,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 4262,
"end": 4268,
"name": "DUP3",
"source": 2
},
{
"begin": 4258,
"end": 4272,
"name": "ADD",
"source": 2
},
{
"begin": 4251,
"end": 4291,
"name": "MSTORE",
"source": 2
},
{
"begin": 4134,
"end": 4298,
"name": "POP",
"source": 2
},
{
"begin": 4134,
"end": 4298,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 4304,
"end": 4670,
"name": "tag",
"source": 2,
"value": "113"
},
{
"begin": 4304,
"end": 4670,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 4446,
"end": 4449,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 4467,
"end": 4534,
"name": "PUSH [tag]",
"source": 2,
"value": "177"
},
{
"begin": 4531,
"end": 4533,
"name": "PUSH",
"source": 2,
"value": "E"
},
{
"begin": 4526,
"end": 4529,
"name": "DUP4",
"source": 2
},
{
"begin": 4467,
"end": 4534,
"name": "PUSH [tag]",
"source": 2,
"value": "111"
},
{
"begin": 4467,
"end": 4534,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 4467,
"end": 4534,
"name": "tag",
"source": 2,
"value": "177"
},
{
"begin": 4467,
"end": 4534,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 4460,
"end": 4534,
"name": "SWAP2",
"source": 2
},
{
"begin": 4460,
"end": 4534,
"name": "POP",
"source": 2
},
{
"begin": 4543,
"end": 4636,
"name": "PUSH [tag]",
"source": 2,
"value": "178"
},
{
"begin": 4632,
"end": 4635,
"name": "DUP3",
"source": 2
},
{
"begin": 4543,
"end": 4636,
"name": "PUSH [tag]",
"source": 2,
"value": "112"
},
{
"begin": 4543,
"end": 4636,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 4543,
"end": 4636,
"name": "tag",
"source": 2,
"value": "178"
},
{
"begin": 4543,
"end": 4636,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 4661,
"end": 4663,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 4656,
"end": 4659,
"name": "DUP3",
"source": 2
},
{
"begin": 4652,
"end": 4664,
"name": "ADD",
"source": 2
},
{
"begin": 4645,
"end": 4664,
"name": "SWAP1",
"source": 2
},
{
"begin": 4645,
"end": 4664,
"name": "POP",
"source": 2
},
{
"begin": 4304,
"end": 4670,
"name": "SWAP2",
"source": 2
},
{
"begin": 4304,
"end": 4670,
"name": "SWAP1",
"source": 2
},
{
"begin": 4304,
"end": 4670,
"name": "POP",
"source": 2
},
{
"begin": 4304,
"end": 4670,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 4676,
"end": 5095,
"name": "tag",
"source": 2,
"value": "52"
},
{
"begin": 4676,
"end": 5095,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 4842,
"end": 4846,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 4880,
"end": 4882,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 4869,
"end": 4878,
"name": "DUP3",
"source": 2
},
{
"begin": 4865,
"end": 4883,
"name": "ADD",
"source": 2
},
{
"begin": 4857,
"end": 4883,
"name": "SWAP1",
"source": 2
},
{
"begin": 4857,
"end": 4883,
"name": "POP",
"source": 2
},
{
"begin": 4929,
"end": 4938,
"name": "DUP2",
"source": 2
},
{
"begin": 4923,
"end": 4927,
"name": "DUP2",
"source": 2
},
{
"begin": 4919,
"end": 4939,
"name": "SUB",
"source": 2
},
{
"begin": 4915,
"end": 4916,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 4904,
"end": 4913,
"name": "DUP4",
"source": 2
},
{
"begin": 4900,
"end": 4917,
"name": "ADD",
"source": 2
},
{
"begin": 4893,
"end": 4940,
"name": "MSTORE",
"source": 2
},
{
"begin": 4957,
"end": 5088,
"name": "PUSH [tag]",
"source": 2,
"value": "180"
},
{
"begin": 5083,
"end": 5087,
"name": "DUP2",
"source": 2
},
{
"begin": 4957,
"end": 5088,
"name": "PUSH [tag]",
"source": 2,
"value": "113"
},
{
"begin": 4957,
"end": 5088,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 4957,
"end": 5088,
"name": "tag",
"source": 2,
"value": "180"
},
{
"begin": 4957,
"end": 5088,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 4949,
"end": 5088,
"name": "SWAP1",
"source": 2
},
{
"begin": 4949,
"end": 5088,
"name": "POP",
"source": 2
},
{
"begin": 4676,
"end": 5095,
"name": "SWAP2",
"source": 2
},
{
"begin": 4676,
"end": 5095,
"name": "SWAP1",
"source": 2
},
{
"begin": 4676,
"end": 5095,
"name": "POP",
"source": 2
},
{
"begin": 4676,
"end": 5095,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"name": "tag",
"source": 2,
"value": "54"
},
{
"begin": 5101,
"end": 5543,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5250,
"end": 5254,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 5288,
"end": 5290,
"name": "PUSH",
"source": 2,
"value": "60"
},
{
"begin": 5277,
"end": 5286,
"name": "DUP3",
"source": 2
},
{
"begin": 5273,
"end": 5291,
"name": "ADD",
"source": 2
},
{
"begin": 5265,
"end": 5291,
"name": "SWAP1",
"source": 2
},
{
"begin": 5265,
"end": 5291,
"name": "POP",
"source": 2
},
{
"begin": 5301,
"end": 5372,
"name": "PUSH [tag]",
"source": 2,
"value": "182"
},
{
"begin": 5369,
"end": 5370,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 5358,
"end": 5367,
"name": "DUP4",
"source": 2
},
{
"begin": 5354,
"end": 5371,
"name": "ADD",
"source": 2
},
{
"begin": 5345,
"end": 5351,
"name": "DUP7",
"source": 2
},
{
"begin": 5301,
"end": 5372,
"name": "PUSH [tag]",
"source": 2,
"value": "108"
},
{
"begin": 5301,
"end": 5372,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 5301,
"end": 5372,
"name": "tag",
"source": 2,
"value": "182"
},
{
"begin": 5301,
"end": 5372,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5382,
"end": 5454,
"name": "PUSH [tag]",
"source": 2,
"value": "183"
},
{
"begin": 5450,
"end": 5452,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 5439,
"end": 5448,
"name": "DUP4",
"source": 2
},
{
"begin": 5435,
"end": 5453,
"name": "ADD",
"source": 2
},
{
"begin": 5426,
"end": 5432,
"name": "DUP6",
"source": 2
},
{
"begin": 5382,
"end": 5454,
"name": "PUSH [tag]",
"source": 2,
"value": "108"
},
{
"begin": 5382,
"end": 5454,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 5382,
"end": 5454,
"name": "tag",
"source": 2,
"value": "183"
},
{
"begin": 5382,
"end": 5454,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5464,
"end": 5536,
"name": "PUSH [tag]",
"source": 2,
"value": "184"
},
{
"begin": 5532,
"end": 5534,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 5521,
"end": 5530,
"name": "DUP4",
"source": 2
},
{
"begin": 5517,
"end": 5535,
"name": "ADD",
"source": 2
},
{
"begin": 5508,
"end": 5514,
"name": "DUP5",
"source": 2
},
{
"begin": 5464,
"end": 5536,
"name": "PUSH [tag]",
"source": 2,
"value": "102"
},
{
"begin": 5464,
"end": 5536,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 5464,
"end": 5536,
"name": "tag",
"source": 2,
"value": "184"
},
{
"begin": 5464,
"end": 5536,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"name": "SWAP5",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"name": "SWAP4",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"name": "POP",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"name": "POP",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"name": "POP",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"name": "POP",
"source": 2
},
{
"begin": 5101,
"end": 5543,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 5549,
"end": 5639,
"name": "tag",
"source": 2,
"value": "114"
},
{
"begin": 5549,
"end": 5639,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5583,
"end": 5590,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 5626,
"end": 5631,
"name": "DUP2",
"source": 2
},
{
"begin": 5619,
"end": 5632,
"name": "ISZERO",
"source": 2
},
{
"begin": 5612,
"end": 5633,
"name": "ISZERO",
"source": 2
},
{
"begin": 5601,
"end": 5633,
"name": "SWAP1",
"source": 2
},
{
"begin": 5601,
"end": 5633,
"name": "POP",
"source": 2
},
{
"begin": 5549,
"end": 5639,
"name": "SWAP2",
"source": 2
},
{
"begin": 5549,
"end": 5639,
"name": "SWAP1",
"source": 2
},
{
"begin": 5549,
"end": 5639,
"name": "POP",
"source": 2
},
{
"begin": 5549,
"end": 5639,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 5645,
"end": 5761,
"name": "tag",
"source": 2,
"value": "115"
},
{
"begin": 5645,
"end": 5761,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5715,
"end": 5736,
"name": "PUSH [tag]",
"source": 2,
"value": "187"
},
{
"begin": 5730,
"end": 5735,
"name": "DUP2",
"source": 2
},
{
"begin": 5715,
"end": 5736,
"name": "PUSH [tag]",
"source": 2,
"value": "114"
},
{
"begin": 5715,
"end": 5736,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 5715,
"end": 5736,
"name": "tag",
"source": 2,
"value": "187"
},
{
"begin": 5715,
"end": 5736,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5708,
"end": 5713,
"name": "DUP2",
"source": 2
},
{
"begin": 5705,
"end": 5737,
"name": "EQ",
"source": 2
},
{
"begin": 5695,
"end": 5755,
"name": "PUSH [tag]",
"source": 2,
"value": "188"
},
{
"begin": 5695,
"end": 5755,
"name": "JUMPI",
"source": 2
},
{
"begin": 5751,
"end": 5752,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 5748,
"end": 5749,
"name": "DUP1",
"source": 2
},
{
"begin": 5741,
"end": 5753,
"name": "REVERT",
"source": 2
},
{
"begin": 5695,
"end": 5755,
"name": "tag",
"source": 2,
"value": "188"
},
{
"begin": 5695,
"end": 5755,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5645,
"end": 5761,
"name": "POP",
"source": 2
},
{
"begin": 5645,
"end": 5761,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 5767,
"end": 5904,
"name": "tag",
"source": 2,
"value": "116"
},
{
"begin": 5767,
"end": 5904,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5821,
"end": 5826,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 5852,
"end": 5858,
"name": "DUP2",
"source": 2
},
{
"begin": 5846,
"end": 5859,
"name": "MLOAD",
"source": 2
},
{
"begin": 5837,
"end": 5859,
"name": "SWAP1",
"source": 2
},
{
"begin": 5837,
"end": 5859,
"name": "POP",
"source": 2
},
{
"begin": 5868,
"end": 5898,
"name": "PUSH [tag]",
"source": 2,
"value": "190"
},
{
"begin": 5892,
"end": 5897,
"name": "DUP2",
"source": 2
},
{
"begin": 5868,
"end": 5898,
"name": "PUSH [tag]",
"source": 2,
"value": "115"
},
{
"begin": 5868,
"end": 5898,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 5868,
"end": 5898,
"name": "tag",
"source": 2,
"value": "190"
},
{
"begin": 5868,
"end": 5898,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5767,
"end": 5904,
"name": "SWAP3",
"source": 2
},
{
"begin": 5767,
"end": 5904,
"name": "SWAP2",
"source": 2
},
{
"begin": 5767,
"end": 5904,
"name": "POP",
"source": 2
},
{
"begin": 5767,
"end": 5904,
"name": "POP",
"source": 2
},
{
"begin": 5767,
"end": 5904,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 5910,
"end": 6255,
"name": "tag",
"source": 2,
"value": "58"
},
{
"begin": 5910,
"end": 6255,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5977,
"end": 5983,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 6026,
"end": 6028,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 6014,
"end": 6023,
"name": "DUP3",
"source": 2
},
{
"begin": 6005,
"end": 6012,
"name": "DUP5",
"source": 2
},
{
"begin": 6001,
"end": 6024,
"name": "SUB",
"source": 2
},
{
"begin": 5997,
"end": 6029,
"name": "SLT",
"source": 2
},
{
"begin": 5994,
"end": 6113,
"name": "ISZERO",
"source": 2
},
{
"begin": 5994,
"end": 6113,
"name": "PUSH [tag]",
"source": 2,
"value": "192"
},
{
"begin": 5994,
"end": 6113,
"name": "JUMPI",
"source": 2
},
{
"begin": 6032,
"end": 6111,
"name": "PUSH [tag]",
"source": 2,
"value": "193"
},
{
"begin": 6032,
"end": 6111,
"name": "PUSH [tag]",
"source": 2,
"value": "95"
},
{
"begin": 6032,
"end": 6111,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 6032,
"end": 6111,
"name": "tag",
"source": 2,
"value": "193"
},
{
"begin": 6032,
"end": 6111,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 5994,
"end": 6113,
"name": "tag",
"source": 2,
"value": "192"
},
{
"begin": 5994,
"end": 6113,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6152,
"end": 6153,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 6177,
"end": 6238,
"name": "PUSH [tag]",
"source": 2,
"value": "194"
},
{
"begin": 6230,
"end": 6237,
"name": "DUP5",
"source": 2
},
{
"begin": 6221,
"end": 6227,
"name": "DUP3",
"source": 2
},
{
"begin": 6210,
"end": 6219,
"name": "DUP6",
"source": 2
},
{
"begin": 6206,
"end": 6228,
"name": "ADD",
"source": 2
},
{
"begin": 6177,
"end": 6238,
"name": "PUSH [tag]",
"source": 2,
"value": "116"
},
{
"begin": 6177,
"end": 6238,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 6177,
"end": 6238,
"name": "tag",
"source": 2,
"value": "194"
},
{
"begin": 6177,
"end": 6238,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6167,
"end": 6238,
"name": "SWAP2",
"source": 2
},
{
"begin": 6167,
"end": 6238,
"name": "POP",
"source": 2
},
{
"begin": 6123,
"end": 6248,
"name": "POP",
"source": 2
},
{
"begin": 5910,
"end": 6255,
"name": "SWAP3",
"source": 2
},
{
"begin": 5910,
"end": 6255,
"name": "SWAP2",
"source": 2
},
{
"begin": 5910,
"end": 6255,
"name": "POP",
"source": 2
},
{
"begin": 5910,
"end": 6255,
"name": "POP",
"source": 2
},
{
"begin": 5910,
"end": 6255,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 6261,
"end": 6441,
"name": "tag",
"source": 2,
"value": "117"
},
{
"begin": 6261,
"end": 6441,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6309,
"end": 6386,
"name": "PUSH",
"source": 2,
"value": "4E487B7100000000000000000000000000000000000000000000000000000000"
},
{
"begin": 6306,
"end": 6307,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 6299,
"end": 6387,
"name": "MSTORE",
"source": 2
},
{
"begin": 6406,
"end": 6410,
"name": "PUSH",
"source": 2,
"value": "11"
},
{
"begin": 6403,
"end": 6404,
"name": "PUSH",
"source": 2,
"value": "4"
},
{
"begin": 6396,
"end": 6411,
"name": "MSTORE",
"source": 2
},
{
"begin": 6430,
"end": 6434,
"name": "PUSH",
"source": 2,
"value": "24"
},
{
"begin": 6427,
"end": 6428,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 6420,
"end": 6435,
"name": "REVERT",
"source": 2
},
{
"begin": 6447,
"end": 6638,
"name": "tag",
"source": 2,
"value": "60"
},
{
"begin": 6447,
"end": 6638,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6487,
"end": 6490,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 6506,
"end": 6526,
"name": "PUSH [tag]",
"source": 2,
"value": "197"
},
{
"begin": 6524,
"end": 6525,
"name": "DUP3",
"source": 2
},
{
"begin": 6506,
"end": 6526,
"name": "PUSH [tag]",
"source": 2,
"value": "101"
},
{
"begin": 6506,
"end": 6526,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 6506,
"end": 6526,
"name": "tag",
"source": 2,
"value": "197"
},
{
"begin": 6506,
"end": 6526,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6501,
"end": 6526,
"name": "SWAP2",
"source": 2
},
{
"begin": 6501,
"end": 6526,
"name": "POP",
"source": 2
},
{
"begin": 6540,
"end": 6560,
"name": "PUSH [tag]",
"source": 2,
"value": "198"
},
{
"begin": 6558,
"end": 6559,
"name": "DUP4",
"source": 2
},
{
"begin": 6540,
"end": 6560,
"name": "PUSH [tag]",
"source": 2,
"value": "101"
},
{
"begin": 6540,
"end": 6560,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 6540,
"end": 6560,
"name": "tag",
"source": 2,
"value": "198"
},
{
"begin": 6540,
"end": 6560,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6535,
"end": 6560,
"name": "SWAP3",
"source": 2
},
{
"begin": 6535,
"end": 6560,
"name": "POP",
"source": 2
},
{
"begin": 6583,
"end": 6584,
"name": "DUP3",
"source": 2
},
{
"begin": 6580,
"end": 6581,
"name": "DUP3",
"source": 2
},
{
"begin": 6576,
"end": 6585,
"name": "ADD",
"source": 2
},
{
"begin": 6569,
"end": 6585,
"name": "SWAP1",
"source": 2
},
{
"begin": 6569,
"end": 6585,
"name": "POP",
"source": 2
},
{
"begin": 6604,
"end": 6607,
"name": "DUP1",
"source": 2
},
{
"begin": 6601,
"end": 6602,
"name": "DUP3",
"source": 2
},
{
"begin": 6598,
"end": 6608,
"name": "GT",
"source": 2
},
{
"begin": 6595,
"end": 6631,
"name": "ISZERO",
"source": 2
},
{
"begin": 6595,
"end": 6631,
"name": "PUSH [tag]",
"source": 2,
"value": "199"
},
{
"begin": 6595,
"end": 6631,
"name": "JUMPI",
"source": 2
},
{
"begin": 6611,
"end": 6629,
"name": "PUSH [tag]",
"source": 2,
"value": "200"
},
{
"begin": 6611,
"end": 6629,
"name": "PUSH [tag]",
"source": 2,
"value": "117"
},
{
"begin": 6611,
"end": 6629,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 6611,
"end": 6629,
"name": "tag",
"source": 2,
"value": "200"
},
{
"begin": 6611,
"end": 6629,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6595,
"end": 6631,
"name": "tag",
"source": 2,
"value": "199"
},
{
"begin": 6595,
"end": 6631,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6447,
"end": 6638,
"name": "SWAP3",
"source": 2
},
{
"begin": 6447,
"end": 6638,
"name": "SWAP2",
"source": 2
},
{
"begin": 6447,
"end": 6638,
"name": "POP",
"source": 2
},
{
"begin": 6447,
"end": 6638,
"name": "POP",
"source": 2
},
{
"begin": 6447,
"end": 6638,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 6644,
"end": 6811,
"name": "tag",
"source": 2,
"value": "118"
},
{
"begin": 6644,
"end": 6811,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6784,
"end": 6803,
"name": "PUSH",
"source": 2,
"value": "43616E6E6F742077697468647261772030000000000000000000000000000000"
},
{
"begin": 6780,
"end": 6781,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 6772,
"end": 6778,
"name": "DUP3",
"source": 2
},
{
"begin": 6768,
"end": 6782,
"name": "ADD",
"source": 2
},
{
"begin": 6761,
"end": 6804,
"name": "MSTORE",
"source": 2
},
{
"begin": 6644,
"end": 6811,
"name": "POP",
"source": 2
},
{
"begin": 6644,
"end": 6811,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 6817,
"end": 7183,
"name": "tag",
"source": 2,
"value": "119"
},
{
"begin": 6817,
"end": 7183,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6959,
"end": 6962,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 6980,
"end": 7047,
"name": "PUSH [tag]",
"source": 2,
"value": "203"
},
{
"begin": 7044,
"end": 7046,
"name": "PUSH",
"source": 2,
"value": "11"
},
{
"begin": 7039,
"end": 7042,
"name": "DUP4",
"source": 2
},
{
"begin": 6980,
"end": 7047,
"name": "PUSH [tag]",
"source": 2,
"value": "111"
},
{
"begin": 6980,
"end": 7047,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 6980,
"end": 7047,
"name": "tag",
"source": 2,
"value": "203"
},
{
"begin": 6980,
"end": 7047,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 6973,
"end": 7047,
"name": "SWAP2",
"source": 2
},
{
"begin": 6973,
"end": 7047,
"name": "POP",
"source": 2
},
{
"begin": 7056,
"end": 7149,
"name": "PUSH [tag]",
"source": 2,
"value": "204"
},
{
"begin": 7145,
"end": 7148,
"name": "DUP3",
"source": 2
},
{
"begin": 7056,
"end": 7149,
"name": "PUSH [tag]",
"source": 2,
"value": "118"
},
{
"begin": 7056,
"end": 7149,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 7056,
"end": 7149,
"name": "tag",
"source": 2,
"value": "204"
},
{
"begin": 7056,
"end": 7149,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 7174,
"end": 7176,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 7169,
"end": 7172,
"name": "DUP3",
"source": 2
},
{
"begin": 7165,
"end": 7177,
"name": "ADD",
"source": 2
},
{
"begin": 7158,
"end": 7177,
"name": "SWAP1",
"source": 2
},
{
"begin": 7158,
"end": 7177,
"name": "POP",
"source": 2
},
{
"begin": 6817,
"end": 7183,
"name": "SWAP2",
"source": 2
},
{
"begin": 6817,
"end": 7183,
"name": "SWAP1",
"source": 2
},
{
"begin": 6817,
"end": 7183,
"name": "POP",
"source": 2
},
{
"begin": 6817,
"end": 7183,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 7189,
"end": 7608,
"name": "tag",
"source": 2,
"value": "73"
},
{
"begin": 7189,
"end": 7608,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 7355,
"end": 7359,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 7393,
"end": 7395,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 7382,
"end": 7391,
"name": "DUP3",
"source": 2
},
{
"begin": 7378,
"end": 7396,
"name": "ADD",
"source": 2
},
{
"begin": 7370,
"end": 7396,
"name": "SWAP1",
"source": 2
},
{
"begin": 7370,
"end": 7396,
"name": "POP",
"source": 2
},
{
"begin": 7442,
"end": 7451,
"name": "DUP2",
"source": 2
},
{
"begin": 7436,
"end": 7440,
"name": "DUP2",
"source": 2
},
{
"begin": 7432,
"end": 7452,
"name": "SUB",
"source": 2
},
{
"begin": 7428,
"end": 7429,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 7417,
"end": 7426,
"name": "DUP4",
"source": 2
},
{
"begin": 7413,
"end": 7430,
"name": "ADD",
"source": 2
},
{
"begin": 7406,
"end": 7453,
"name": "MSTORE",
"source": 2
},
{
"begin": 7470,
"end": 7601,
"name": "PUSH [tag]",
"source": 2,
"value": "206"
},
{
"begin": 7596,
"end": 7600,
"name": "DUP2",
"source": 2
},
{
"begin": 7470,
"end": 7601,
"name": "PUSH [tag]",
"source": 2,
"value": "119"
},
{
"begin": 7470,
"end": 7601,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 7470,
"end": 7601,
"name": "tag",
"source": 2,
"value": "206"
},
{
"begin": 7470,
"end": 7601,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 7462,
"end": 7601,
"name": "SWAP1",
"source": 2
},
{
"begin": 7462,
"end": 7601,
"name": "POP",
"source": 2
},
{
"begin": 7189,
"end": 7608,
"name": "SWAP2",
"source": 2
},
{
"begin": 7189,
"end": 7608,
"name": "SWAP1",
"source": 2
},
{
"begin": 7189,
"end": 7608,
"name": "POP",
"source": 2
},
{
"begin": 7189,
"end": 7608,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 7614,
"end": 7784,
"name": "tag",
"source": 2,
"value": "120"
},
{
"begin": 7614,
"end": 7784,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 7754,
"end": 7776,
"name": "PUSH",
"source": 2,
"value": "496E73756666696369656E742042616C616E6365000000000000000000000000"
},
{
"begin": 7750,
"end": 7751,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 7742,
"end": 7748,
"name": "DUP3",
"source": 2
},
{
"begin": 7738,
"end": 7752,
"name": "ADD",
"source": 2
},
{
"begin": 7731,
"end": 7777,
"name": "MSTORE",
"source": 2
},
{
"begin": 7614,
"end": 7784,
"name": "POP",
"source": 2
},
{
"begin": 7614,
"end": 7784,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 7790,
"end": 8156,
"name": "tag",
"source": 2,
"value": "121"
},
{
"begin": 7790,
"end": 8156,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 7932,
"end": 7935,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 7953,
"end": 8020,
"name": "PUSH [tag]",
"source": 2,
"value": "209"
},
{
"begin": 8017,
"end": 8019,
"name": "PUSH",
"source": 2,
"value": "14"
},
{
"begin": 8012,
"end": 8015,
"name": "DUP4",
"source": 2
},
{
"begin": 7953,
"end": 8020,
"name": "PUSH [tag]",
"source": 2,
"value": "111"
},
{
"begin": 7953,
"end": 8020,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 7953,
"end": 8020,
"name": "tag",
"source": 2,
"value": "209"
},
{
"begin": 7953,
"end": 8020,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 7946,
"end": 8020,
"name": "SWAP2",
"source": 2
},
{
"begin": 7946,
"end": 8020,
"name": "POP",
"source": 2
},
{
"begin": 8029,
"end": 8122,
"name": "PUSH [tag]",
"source": 2,
"value": "210"
},
{
"begin": 8118,
"end": 8121,
"name": "DUP3",
"source": 2
},
{
"begin": 8029,
"end": 8122,
"name": "PUSH [tag]",
"source": 2,
"value": "120"
},
{
"begin": 8029,
"end": 8122,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 8029,
"end": 8122,
"name": "tag",
"source": 2,
"value": "210"
},
{
"begin": 8029,
"end": 8122,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8147,
"end": 8149,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 8142,
"end": 8145,
"name": "DUP3",
"source": 2
},
{
"begin": 8138,
"end": 8150,
"name": "ADD",
"source": 2
},
{
"begin": 8131,
"end": 8150,
"name": "SWAP1",
"source": 2
},
{
"begin": 8131,
"end": 8150,
"name": "POP",
"source": 2
},
{
"begin": 7790,
"end": 8156,
"name": "SWAP2",
"source": 2
},
{
"begin": 7790,
"end": 8156,
"name": "SWAP1",
"source": 2
},
{
"begin": 7790,
"end": 8156,
"name": "POP",
"source": 2
},
{
"begin": 7790,
"end": 8156,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 8162,
"end": 8581,
"name": "tag",
"source": 2,
"value": "76"
},
{
"begin": 8162,
"end": 8581,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8328,
"end": 8332,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 8366,
"end": 8368,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 8355,
"end": 8364,
"name": "DUP3",
"source": 2
},
{
"begin": 8351,
"end": 8369,
"name": "ADD",
"source": 2
},
{
"begin": 8343,
"end": 8369,
"name": "SWAP1",
"source": 2
},
{
"begin": 8343,
"end": 8369,
"name": "POP",
"source": 2
},
{
"begin": 8415,
"end": 8424,
"name": "DUP2",
"source": 2
},
{
"begin": 8409,
"end": 8413,
"name": "DUP2",
"source": 2
},
{
"begin": 8405,
"end": 8425,
"name": "SUB",
"source": 2
},
{
"begin": 8401,
"end": 8402,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 8390,
"end": 8399,
"name": "DUP4",
"source": 2
},
{
"begin": 8386,
"end": 8403,
"name": "ADD",
"source": 2
},
{
"begin": 8379,
"end": 8426,
"name": "MSTORE",
"source": 2
},
{
"begin": 8443,
"end": 8574,
"name": "PUSH [tag]",
"source": 2,
"value": "212"
},
{
"begin": 8569,
"end": 8573,
"name": "DUP2",
"source": 2
},
{
"begin": 8443,
"end": 8574,
"name": "PUSH [tag]",
"source": 2,
"value": "121"
},
{
"begin": 8443,
"end": 8574,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 8443,
"end": 8574,
"name": "tag",
"source": 2,
"value": "212"
},
{
"begin": 8443,
"end": 8574,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8435,
"end": 8574,
"name": "SWAP1",
"source": 2
},
{
"begin": 8435,
"end": 8574,
"name": "POP",
"source": 2
},
{
"begin": 8162,
"end": 8581,
"name": "SWAP2",
"source": 2
},
{
"begin": 8162,
"end": 8581,
"name": "SWAP1",
"source": 2
},
{
"begin": 8162,
"end": 8581,
"name": "POP",
"source": 2
},
{
"begin": 8162,
"end": 8581,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 8587,
"end": 8781,
"name": "tag",
"source": 2,
"value": "78"
},
{
"begin": 8587,
"end": 8781,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8627,
"end": 8631,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 8647,
"end": 8667,
"name": "PUSH [tag]",
"source": 2,
"value": "214"
},
{
"begin": 8665,
"end": 8666,
"name": "DUP3",
"source": 2
},
{
"begin": 8647,
"end": 8667,
"name": "PUSH [tag]",
"source": 2,
"value": "101"
},
{
"begin": 8647,
"end": 8667,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 8647,
"end": 8667,
"name": "tag",
"source": 2,
"value": "214"
},
{
"begin": 8647,
"end": 8667,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8642,
"end": 8667,
"name": "SWAP2",
"source": 2
},
{
"begin": 8642,
"end": 8667,
"name": "POP",
"source": 2
},
{
"begin": 8681,
"end": 8701,
"name": "PUSH [tag]",
"source": 2,
"value": "215"
},
{
"begin": 8699,
"end": 8700,
"name": "DUP4",
"source": 2
},
{
"begin": 8681,
"end": 8701,
"name": "PUSH [tag]",
"source": 2,
"value": "101"
},
{
"begin": 8681,
"end": 8701,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 8681,
"end": 8701,
"name": "tag",
"source": 2,
"value": "215"
},
{
"begin": 8681,
"end": 8701,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8676,
"end": 8701,
"name": "SWAP3",
"source": 2
},
{
"begin": 8676,
"end": 8701,
"name": "POP",
"source": 2
},
{
"begin": 8725,
"end": 8726,
"name": "DUP3",
"source": 2
},
{
"begin": 8722,
"end": 8723,
"name": "DUP3",
"source": 2
},
{
"begin": 8718,
"end": 8727,
"name": "SUB",
"source": 2
},
{
"begin": 8710,
"end": 8727,
"name": "SWAP1",
"source": 2
},
{
"begin": 8710,
"end": 8727,
"name": "POP",
"source": 2
},
{
"begin": 8749,
"end": 8750,
"name": "DUP2",
"source": 2
},
{
"begin": 8743,
"end": 8747,
"name": "DUP2",
"source": 2
},
{
"begin": 8740,
"end": 8751,
"name": "GT",
"source": 2
},
{
"begin": 8737,
"end": 8774,
"name": "ISZERO",
"source": 2
},
{
"begin": 8737,
"end": 8774,
"name": "PUSH [tag]",
"source": 2,
"value": "216"
},
{
"begin": 8737,
"end": 8774,
"name": "JUMPI",
"source": 2
},
{
"begin": 8754,
"end": 8772,
"name": "PUSH [tag]",
"source": 2,
"value": "217"
},
{
"begin": 8754,
"end": 8772,
"name": "PUSH [tag]",
"source": 2,
"value": "117"
},
{
"begin": 8754,
"end": 8772,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 8754,
"end": 8772,
"name": "tag",
"source": 2,
"value": "217"
},
{
"begin": 8754,
"end": 8772,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8737,
"end": 8774,
"name": "tag",
"source": 2,
"value": "216"
},
{
"begin": 8737,
"end": 8774,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8587,
"end": 8781,
"name": "SWAP3",
"source": 2
},
{
"begin": 8587,
"end": 8781,
"name": "SWAP2",
"source": 2
},
{
"begin": 8587,
"end": 8781,
"name": "POP",
"source": 2
},
{
"begin": 8587,
"end": 8781,
"name": "POP",
"source": 2
},
{
"begin": 8587,
"end": 8781,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
},
{
"begin": 8787,
"end": 9119,
"name": "tag",
"source": 2,
"value": "80"
},
{
"begin": 8787,
"end": 9119,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8908,
"end": 8912,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 8946,
"end": 8948,
"name": "PUSH",
"source": 2,
"value": "40"
},
{
"begin": 8935,
"end": 8944,
"name": "DUP3",
"source": 2
},
{
"begin": 8931,
"end": 8949,
"name": "ADD",
"source": 2
},
{
"begin": 8923,
"end": 8949,
"name": "SWAP1",
"source": 2
},
{
"begin": 8923,
"end": 8949,
"name": "POP",
"source": 2
},
{
"begin": 8959,
"end": 9030,
"name": "PUSH [tag]",
"source": 2,
"value": "219"
},
{
"begin": 9027,
"end": 9028,
"name": "PUSH",
"source": 2,
"value": "0"
},
{
"begin": 9016,
"end": 9025,
"name": "DUP4",
"source": 2
},
{
"begin": 9012,
"end": 9029,
"name": "ADD",
"source": 2
},
{
"begin": 9003,
"end": 9009,
"name": "DUP6",
"source": 2
},
{
"begin": 8959,
"end": 9030,
"name": "PUSH [tag]",
"source": 2,
"value": "108"
},
{
"begin": 8959,
"end": 9030,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 8959,
"end": 9030,
"name": "tag",
"source": 2,
"value": "219"
},
{
"begin": 8959,
"end": 9030,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 9040,
"end": 9112,
"name": "PUSH [tag]",
"source": 2,
"value": "220"
},
{
"begin": 9108,
"end": 9110,
"name": "PUSH",
"source": 2,
"value": "20"
},
{
"begin": 9097,
"end": 9106,
"name": "DUP4",
"source": 2
},
{
"begin": 9093,
"end": 9111,
"name": "ADD",
"source": 2
},
{
"begin": 9084,
"end": 9090,
"name": "DUP5",
"source": 2
},
{
"begin": 9040,
"end": 9112,
"name": "PUSH [tag]",
"source": 2,
"value": "102"
},
{
"begin": 9040,
"end": 9112,
"jumpType": "[in]",
"name": "JUMP",
"source": 2
},
{
"begin": 9040,
"end": 9112,
"name": "tag",
"source": 2,
"value": "220"
},
{
"begin": 9040,
"end": 9112,
"name": "JUMPDEST",
"source": 2
},
{
"begin": 8787,
"end": 9119,
"name": "SWAP4",
"source": 2
},
{
"begin": 8787,
"end": 9119,
"name": "SWAP3",
"source": 2
},
{
"begin": 8787,
"end": 9119,
"name": "POP",
"source": 2
},
{
"begin": 8787,
"end": 9119,
"name": "POP",
"source": 2
},
{
"begin": 8787,
"end": 9119,
"name": "POP",
"source": 2
},
{
"begin": 8787,
"end": 9119,
"jumpType": "[out]",
"name": "JUMP",
"source": 2
}
]
}
},
"sourceList": [
"@openzeppelin/contracts/token/ERC20/IERC20.sol",
"contracts/Staking.sol",
"#utility.yul"
]
},
"methodIdentifiers": {
"lastUpdateTime()": "c8f33c91",
"owner()": "8da5cb5b",
"renounceOwnership()": "715018a6",
"stake(uint256)": "a694fc3a",
"stakedBalance(address)": "60217267",
"stakingToken()": "72f702f3",
"transferOwnership(address)": "f2fde38b",
"withdraw(address,uint256)": "f3fef3a3"
}
},
"metadata": "{\"compiler\":{\"version\":\"0.8.20+commit.a1b79de6\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_stakingToken\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Staked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"user\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Withdrawn\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"lastUpdateTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"stake\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"stakedBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stakingToken\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_holder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Staking.sol\":\"StakingContract\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xc6a8ff0ea489379b61faa647490411b80102578440ab9d84e9a957cc12164e70\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea104e577e63faea3b69c415637e99e755dcbf64c5833d7140c35a714d6d90c\",\"dweb:/ipfs/Qmau6x4Ns9XdyynRCNNp3RhLqijJjFm7z5fyZazfYFGYdq\"]},\"contracts/Staking.sol\":{\"keccak256\":\"0xd1a4acb77aa26d28e295856e34e5940edc275ec2eec1d0e31a304642ed3889cd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3503a6a73bc3fd9558af78a62d7964d9fe29a4fe34b7ab3be168f967f0f59cca\",\"dweb:/ipfs/QmcBBSeZzEfAcmUx4AAkyFJh8TYEHYJ7jJaQwvxVgedrna\"]}},\"version\":1}",
"storageLayout": {
"storage": [
{
"astId": 105,
"contract": "contracts/Staking.sol:StakingContract",
"label": "_owner",
"offset": 0,
"slot": "0",
"type": "t_address"
},
{
"astId": 233,
"contract": "contracts/Staking.sol:StakingContract",
"label": "stakingToken",
"offset": 0,
"slot": "1",
"type": "t_contract(IERC20)77"
},
{
"astId": 235,
"contract": "contracts/Staking.sol:StakingContract",
"label": "lastUpdateTime",
"offset": 0,
"slot": "2",
"type": "t_uint256"
},
{
"astId": 239,
"contract": "contracts/Staking.sol:StakingContract",
"label": "stakedBalance",
"offset": 0,
"slot": "3",
"type": "t_mapping(t_address,t_uint256)"
}
],
"types": {
"t_address": {
"encoding": "inplace",
"label": "address",
"numberOfBytes": "20"
},
"t_contract(IERC20)77": {
"encoding": "inplace",
"label": "contract IERC20",
"numberOfBytes": "20"
},
"t_mapping(t_address,t_uint256)": {
"encoding": "mapping",
"key": "t_address",
"label": "mapping(address => uint256)",
"numberOfBytes": "32",
"value": "t_uint256"
},
"t_uint256": {
"encoding": "inplace",
"label": "uint256",
"numberOfBytes": "32"
}
}
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
}
}
},
"sources": {
"@openzeppelin/contracts/token/ERC20/IERC20.sol": {
"ast": {
"absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"exportedSymbols": {
"IERC20": [
77
]
},
"id": 78,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"^",
"0.8",
".20"
],
"nodeType": "PragmaDirective",
"src": "106:24:0"
},
{
"abstract": false,
"baseContracts": [],
"canonicalName": "IERC20",
"contractDependencies": [],
"contractKind": "interface",
"documentation": {
"id": 2,
"nodeType": "StructuredDocumentation",
"src": "132:70:0",
"text": " @dev Interface of the ERC20 standard as defined in the EIP."
},
"fullyImplemented": false,
"id": 77,
"linearizedBaseContracts": [
77
],
"name": "IERC20",
"nameLocation": "213:6:0",
"nodeType": "ContractDefinition",
"nodes": [
{
"anonymous": false,
"documentation": {
"id": 3,
"nodeType": "StructuredDocumentation",
"src": "226:158:0",
"text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero."
},
"eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
"id": 11,
"name": "Transfer",
"nameLocation": "395:8:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 10,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 5,
"indexed": true,
"mutability": "mutable",
"name": "from",
"nameLocation": "420:4:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "404:20:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 4,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "404:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 7,
"indexed": true,
"mutability": "mutable",
"name": "to",
"nameLocation": "442:2:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "426:18:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 6,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "426:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 9,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "454:5:0",
"nodeType": "VariableDeclaration",
"scope": 11,
"src": "446:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 8,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "446:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "403:57:0"
},
"src": "389:72:0"
},
{
"anonymous": false,
"documentation": {
"id": 12,
"nodeType": "StructuredDocumentation",
"src": "467:148:0",
"text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance."
},
"eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925",
"id": 20,
"name": "Approval",
"nameLocation": "626:8:0",
"nodeType": "EventDefinition",
"parameters": {
"id": 19,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 14,
"indexed": true,
"mutability": "mutable",
"name": "owner",
"nameLocation": "651:5:0",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "635:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 13,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "635:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 16,
"indexed": true,
"mutability": "mutable",
"name": "spender",
"nameLocation": "674:7:0",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "658:23:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 15,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "658:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 18,
"indexed": false,
"mutability": "mutable",
"name": "value",
"nameLocation": "691:5:0",
"nodeType": "VariableDeclaration",
"scope": 20,
"src": "683:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "683:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "634:63:0"
},
"src": "620:78:0"
},
{
"documentation": {
"id": 21,
"nodeType": "StructuredDocumentation",
"src": "704:65:0",
"text": " @dev Returns the value of tokens in existence."
},
"functionSelector": "18160ddd",
"id": 26,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "totalSupply",
"nameLocation": "783:11:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 22,
"nodeType": "ParameterList",
"parameters": [],
"src": "794:2:0"
},
"returnParameters": {
"id": 25,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 24,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 26,
"src": "820:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 23,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "820:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "819:9:0"
},
"scope": 77,
"src": "774:55:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 27,
"nodeType": "StructuredDocumentation",
"src": "835:71:0",
"text": " @dev Returns the value of tokens owned by `account`."
},
"functionSelector": "70a08231",
"id": 34,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "balanceOf",
"nameLocation": "920:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 30,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 29,
"mutability": "mutable",
"name": "account",
"nameLocation": "938:7:0",
"nodeType": "VariableDeclaration",
"scope": 34,
"src": "930:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 28,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "930:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "929:17:0"
},
"returnParameters": {
"id": 33,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 34,
"src": "970:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 31,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "970:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "969:9:0"
},
"scope": 77,
"src": "911:68:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 35,
"nodeType": "StructuredDocumentation",
"src": "985:213:0",
"text": " @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
},
"functionSelector": "a9059cbb",
"id": 44,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transfer",
"nameLocation": "1212:8:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 40,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 37,
"mutability": "mutable",
"name": "to",
"nameLocation": "1229:2:0",
"nodeType": "VariableDeclaration",
"scope": 44,
"src": "1221:10:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 36,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1221:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 39,
"mutability": "mutable",
"name": "value",
"nameLocation": "1241:5:0",
"nodeType": "VariableDeclaration",
"scope": 44,
"src": "1233:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 38,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1233:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1220:27:0"
},
"returnParameters": {
"id": 43,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 42,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 44,
"src": "1266:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 41,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "1266:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "1265:6:0"
},
"scope": 77,
"src": "1203:69:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 45,
"nodeType": "StructuredDocumentation",
"src": "1278:264:0",
"text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called."
},
"functionSelector": "dd62ed3e",
"id": 54,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "allowance",
"nameLocation": "1556:9:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 50,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 47,
"mutability": "mutable",
"name": "owner",
"nameLocation": "1574:5:0",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "1566:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 46,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1566:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 49,
"mutability": "mutable",
"name": "spender",
"nameLocation": "1589:7:0",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "1581:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 48,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1581:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1565:32:0"
},
"returnParameters": {
"id": 53,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 52,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "1621:7:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 51,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1621:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "1620:9:0"
},
"scope": 77,
"src": "1547:83:0",
"stateMutability": "view",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 55,
"nodeType": "StructuredDocumentation",
"src": "1636:667:0",
"text": " @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event."
},
"functionSelector": "095ea7b3",
"id": 64,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "approve",
"nameLocation": "2317:7:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 60,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 57,
"mutability": "mutable",
"name": "spender",
"nameLocation": "2333:7:0",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2325:15:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 56,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2325:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 59,
"mutability": "mutable",
"name": "value",
"nameLocation": "2350:5:0",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2342:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 58,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2342:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "2324:32:0"
},
"returnParameters": {
"id": 63,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 62,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 64,
"src": "2375:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 61,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2375:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2374:6:0"
},
"scope": 77,
"src": "2308:73:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
},
{
"documentation": {
"id": 65,
"nodeType": "StructuredDocumentation",
"src": "2387:297:0",
"text": " @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event."
},
"functionSelector": "23b872dd",
"id": 76,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "transferFrom",
"nameLocation": "2698:12:0",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 72,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 67,
"mutability": "mutable",
"name": "from",
"nameLocation": "2719:4:0",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "2711:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 66,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2711:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 69,
"mutability": "mutable",
"name": "to",
"nameLocation": "2733:2:0",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "2725:10:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 68,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2725:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 71,
"mutability": "mutable",
"name": "value",
"nameLocation": "2745:5:0",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "2737:13:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 70,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "2737:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"visibility": "internal"
}
],
"src": "2710:41:0"
},
"returnParameters": {
"id": 75,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 74,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "2770:4:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
},
"typeName": {
"id": 73,
"name": "bool",
"nodeType": "ElementaryTypeName",
"src": "2770:4:0",
"typeDescriptions": {
"typeIdentifier": "t_bool",
"typeString": "bool"
}
},
"visibility": "internal"
}
],
"src": "2769:6:0"
},
"scope": 77,
"src": "2689:87:0",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "external"
}
],
"scope": 78,
"src": "203:2575:0",
"usedErrors": [],
"usedEvents": [
11,
20
]
}
],
"src": "106:2673:0"
},
"id": 0
},
"contracts/Staking.sol": {
"ast": {
"absolutePath": "contracts/Staking.sol",
"exportedSymbols": {
"Context": [
100
],
"IERC20": [
77
],
"Ownable": [
228
],
"StakingContract": [
351
]
},
"id": 352,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 79,
"literals": [
"solidity",
"^",
"0.8",
".20"
],
"nodeType": "PragmaDirective",
"src": "33:24:1"
},
{
"absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"file": "@openzeppelin/contracts/token/ERC20/IERC20.sol",
"id": 80,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 352,
"sourceUnit": 78,
"src": "59:56:1",
"symbolAliases": [],
"unitAlias": ""
},
{
"abstract": true,
"baseContracts": [],
"canonicalName": "Context",
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 81,
"nodeType": "StructuredDocumentation",
"src": "118:496:1",
"text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."
},
"fullyImplemented": true,
"id": 100,
"linearizedBaseContracts": [
100
],
"name": "Context",
"nameLocation": "633:7:1",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": {
"id": 89,
"nodeType": "Block",
"src": "709:34:1",
"statements": [
{
"expression": {
"expression": {
"id": 86,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "726:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 87,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "730:6:1",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "726:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 85,
"id": 88,
"nodeType": "Return",
"src": "719:17:1"
}
]
},
"id": 90,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "_msgSender",
"nameLocation": "656:10:1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 82,
"nodeType": "ParameterList",
"parameters": [],
"src": "666:2:1"
},
"returnParameters": {
"id": 85,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 84,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 90,
"src": "700:7:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 83,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "700:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "699:9:1"
},
"scope": 100,
"src": "647:96:1",
"stateMutability": "view",
"virtual": true,
"visibility": "internal"
},
{
"body": {
"id": 98,
"nodeType": "Block",
"src": "816:32:1",
"statements": [
{
"expression": {
"expression": {
"id": 95,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "833:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 96,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "837:4:1",
"memberName": "data",
"nodeType": "MemberAccess",
"src": "833:8:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes calldata"
}
},
"functionReturnParameters": 94,
"id": 97,
"nodeType": "Return",
"src": "826:15:1"
}
]
},
"id": 99,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "_msgData",
"nameLocation": "758:8:1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 91,
"nodeType": "ParameterList",
"parameters": [],
"src": "766:2:1"
},
"returnParameters": {
"id": 94,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 93,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 99,
"src": "800:14:1",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 92,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "800:5:1",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"visibility": "internal"
}
],
"src": "799:16:1"
},
"scope": 100,
"src": "749:99:1",
"stateMutability": "view",
"virtual": true,
"visibility": "internal"
}
],
"scope": 352,
"src": "615:235:1",
"usedErrors": [],
"usedEvents": []
},
{
"abstract": true,
"baseContracts": [
{
"baseName": {
"id": 102,
"name": "Context",
"nameLocations": [
"1370:7:1"
],
"nodeType": "IdentifierPath",
"referencedDeclaration": 100,
"src": "1370:7:1"
},
"id": 103,
"nodeType": "InheritanceSpecifier",
"src": "1370:7:1"
}
],
"canonicalName": "Ownable",
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 101,
"nodeType": "StructuredDocumentation",
"src": "853:487:1",
"text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner."
},
"fullyImplemented": true,
"id": 228,
"linearizedBaseContracts": [
228,
100
],
"name": "Ownable",
"nameLocation": "1359:7:1",
"nodeType": "ContractDefinition",
"nodes": [
{
"constant": false,
"id": 105,
"mutability": "mutable",
"name": "_owner",
"nameLocation": "1400:6:1",
"nodeType": "VariableDeclaration",
"scope": 228,
"src": "1384:22:1",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 104,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1384:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "private"
},
{
"documentation": {
"id": 106,
"nodeType": "StructuredDocumentation",
"src": "1413:85:1",
"text": " @dev The caller account is not authorized to perform an operation."
},
"errorSelector": "118cdaa7",
"id": 110,
"name": "OwnableUnauthorizedAccount",
"nameLocation": "1509:26:1",
"nodeType": "ErrorDefinition",
"parameters": {
"id": 109,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 108,
"mutability": "mutable",
"name": "account",
"nameLocation": "1544:7:1",
"nodeType": "VariableDeclaration",
"scope": 110,
"src": "1536:15:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 107,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1536:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1535:17:1"
},
"src": "1503:50:1"
},
{
"documentation": {
"id": 111,
"nodeType": "StructuredDocumentation",
"src": "1559:82:1",
"text": " @dev The owner is not a valid owner account. (eg. `address(0)`)"
},
"errorSelector": "1e4fbdf7",
"id": 115,
"name": "OwnableInvalidOwner",
"nameLocation": "1652:19:1",
"nodeType": "ErrorDefinition",
"parameters": {
"id": 114,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 113,
"mutability": "mutable",
"name": "owner",
"nameLocation": "1680:5:1",
"nodeType": "VariableDeclaration",
"scope": 115,
"src": "1672:13:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 112,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1672:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1671:15:1"
},
"src": "1646:41:1"
},
{
"anonymous": false,
"eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
"id": 121,
"name": "OwnershipTransferred",
"nameLocation": "1699:20:1",
"nodeType": "EventDefinition",
"parameters": {
"id": 120,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 117,
"indexed": true,
"mutability": "mutable",
"name": "previousOwner",
"nameLocation": "1736:13:1",
"nodeType": "VariableDeclaration",
"scope": 121,
"src": "1720:29:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 116,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1720:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 119,
"indexed": true,
"mutability": "mutable",
"name": "newOwner",
"nameLocation": "1767:8:1",
"nodeType": "VariableDeclaration",
"scope": 121,
"src": "1751:24:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 118,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1751:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "1719:57:1"
},
"src": "1693:84:1"
},
{
"body": {
"id": 130,
"nodeType": "Block",
"src": "1917:47:1",
"statements": [
{
"expression": {
"arguments": [
{
"expression": {
"id": 126,
"name": "msg",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 4294967281,
"src": "1946:3:1",
"typeDescriptions": {
"typeIdentifier": "t_magic_message",
"typeString": "msg"
}
},
"id": 127,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"memberLocation": "1950:6:1",
"memberName": "sender",
"nodeType": "MemberAccess",
"src": "1946:10:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_address",
"typeString": "address"
}
],
"id": 125,
"name": "_transferOwnership",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 227,
"src": "1927:18:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$",
"typeString": "function (address)"
}
},
"id": 128,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "1927:30:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 129,
"nodeType": "ExpressionStatement",
"src": "1927:30:1"
}
]
},
"documentation": {
"id": 122,
"nodeType": "StructuredDocumentation",
"src": "1783:115:1",
"text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner."
},
"id": 131,
"implemented": true,
"kind": "constructor",
"modifiers": [],
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 123,
"nodeType": "ParameterList",
"parameters": [],
"src": "1914:2:1"
},
"returnParameters": {
"id": 124,
"nodeType": "ParameterList",
"parameters": [],
"src": "1917:0:1"
},
"scope": 228,
"src": "1903:61:1",
"stateMutability": "nonpayable",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 138,
"nodeType": "Block",
"src": "2073:41:1",
"statements": [
{
"expression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 134,
"name": "_checkOwner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 165,
"src": "2083:11:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$__$",
"typeString": "function () view"
}
},
"id": 135,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2083:13:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_tuple$__$",
"typeString": "tuple()"
}
},
"id": 136,
"nodeType": "ExpressionStatement",
"src": "2083:13:1"
},
{
"id": 137,
"nodeType": "PlaceholderStatement",
"src": "2106:1:1"
}
]
},
"documentation": {
"id": 132,
"nodeType": "StructuredDocumentation",
"src": "1970:77:1",
"text": " @dev Throws if called by any account other than the owner."
},
"id": 139,
"name": "onlyOwner",
"nameLocation": "2061:9:1",
"nodeType": "ModifierDefinition",
"parameters": {
"id": 133,
"nodeType": "ParameterList",
"parameters": [],
"src": "2070:2:1"
},
"src": "2052:62:1",
"virtual": false,
"visibility": "internal"
},
{
"body": {
"id": 147,
"nodeType": "Block",
"src": "2245:30:1",
"statements": [
{
"expression": {
"id": 145,
"name": "_owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 105,
"src": "2262:6:1",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"functionReturnParameters": 144,
"id": 146,
"nodeType": "Return",
"src": "2255:13:1"
}
]
},
"documentation": {
"id": 140,
"nodeType": "StructuredDocumentation",
"src": "2120:65:1",
"text": " @dev Returns the address of the current owner."
},
"functionSelector": "8da5cb5b",
"id": 148,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "owner",
"nameLocation": "2199:5:1",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 141,
"nodeType": "ParameterList",
"parameters": [],
"src": "2204:2:1"
},
"returnParameters": {
"id": 144,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 143,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 148,
"src": "2236:7:1",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 142,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "2236:7:1",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
}
],
"src": "2235:9:1"
},
"scope": 228,
"src": "2190:85:1",
"stateMutability": "view",
"virtual": true,
"visibility": "public"
},
{
"body": {
"id": 164,
"nodeType": "Block",
"src": "2393:117:1",
"statements": [
{
"condition": {
"commonType": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"id": 156,
"isConstant": false,
"isLValue": false,
"isPure": false,
"lValueRequested": false,
"leftExpression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 152,
"name": "owner",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 148,
"src": "2407:5:1",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_view$__$returns$_t_address_$",
"typeString": "function () view returns (address)"
}
},
"id": 153,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"nameLocations": [],
"names": [],
"nodeType": "FunctionCall",
"src": "2407:7:1",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"nodeType": "BinaryOperation",
"operator": "!=",
"rightExpression": {
"arguments": [],
"expression": {
"argumentTypes": [],
"id": 154,
"name": "_msgSender",
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment