Created
June 10, 2016 13:47
-
-
Save skubakdj/5054826717273a6adf2d16b467e14bca to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" | |
"http://www.w3.org/TR/html4/strict.dtd"> | |
<html> | |
<head> | |
<title></title> | |
<meta http-equiv="content-type" content="text/html; charset=utf-8"> | |
<style type="text/css"> | |
td.linenos { background-color: #f0f0f0; padding-right: 10px; } | |
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; } | |
pre { line-height: 125%; } | |
body .hll { background-color: #ffffcc } | |
body { background: #f8f8f8; } | |
body .c { color: #408080; font-style: italic } /* Comment */ | |
body .err { border: 1px solid #FF0000 } /* Error */ | |
body .k { color: #008000; font-weight: bold } /* Keyword */ | |
body .o { color: #666666 } /* Operator */ | |
body .ch { color: #408080; font-style: italic } /* Comment.Hashbang */ | |
body .cm { color: #408080; font-style: italic } /* Comment.Multiline */ | |
body .cp { color: #BC7A00 } /* Comment.Preproc */ | |
body .cpf { color: #408080; font-style: italic } /* Comment.PreprocFile */ | |
body .c1 { color: #408080; font-style: italic } /* Comment.Single */ | |
body .cs { color: #408080; font-style: italic } /* Comment.Special */ | |
body .gd { color: #A00000 } /* Generic.Deleted */ | |
body .ge { font-style: italic } /* Generic.Emph */ | |
body .gr { color: #FF0000 } /* Generic.Error */ | |
body .gh { color: #000080; font-weight: bold } /* Generic.Heading */ | |
body .gi { color: #00A000 } /* Generic.Inserted */ | |
body .go { color: #888888 } /* Generic.Output */ | |
body .gp { color: #000080; font-weight: bold } /* Generic.Prompt */ | |
body .gs { font-weight: bold } /* Generic.Strong */ | |
body .gu { color: #800080; font-weight: bold } /* Generic.Subheading */ | |
body .gt { color: #0044DD } /* Generic.Traceback */ | |
body .kc { color: #008000; font-weight: bold } /* Keyword.Constant */ | |
body .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */ | |
body .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */ | |
body .kp { color: #008000 } /* Keyword.Pseudo */ | |
body .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */ | |
body .kt { color: #B00040 } /* Keyword.Type */ | |
body .m { color: #666666 } /* Literal.Number */ | |
body .s { color: #BA2121 } /* Literal.String */ | |
body .na { color: #7D9029 } /* Name.Attribute */ | |
body .nb { color: #008000 } /* Name.Builtin */ | |
body .nc { color: #0000FF; font-weight: bold } /* Name.Class */ | |
body .no { color: #880000 } /* Name.Constant */ | |
body .nd { color: #AA22FF } /* Name.Decorator */ | |
body .ni { color: #999999; font-weight: bold } /* Name.Entity */ | |
body .ne { color: #D2413A; font-weight: bold } /* Name.Exception */ | |
body .nf { color: #0000FF } /* Name.Function */ | |
body .nl { color: #A0A000 } /* Name.Label */ | |
body .nn { color: #0000FF; font-weight: bold } /* Name.Namespace */ | |
body .nt { color: #008000; font-weight: bold } /* Name.Tag */ | |
body .nv { color: #19177C } /* Name.Variable */ | |
body .ow { color: #AA22FF; font-weight: bold } /* Operator.Word */ | |
body .w { color: #bbbbbb } /* Text.Whitespace */ | |
body .mb { color: #666666 } /* Literal.Number.Bin */ | |
body .mf { color: #666666 } /* Literal.Number.Float */ | |
body .mh { color: #666666 } /* Literal.Number.Hex */ | |
body .mi { color: #666666 } /* Literal.Number.Integer */ | |
body .mo { color: #666666 } /* Literal.Number.Oct */ | |
body .sa { color: #BA2121 } /* Literal.String.Affix */ | |
body .sb { color: #BA2121 } /* Literal.String.Backtick */ | |
body .sc { color: #BA2121 } /* Literal.String.Char */ | |
body .dl { color: #BA2121 } /* Literal.String.Delimiter */ | |
body .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */ | |
body .s2 { color: #BA2121 } /* Literal.String.Double */ | |
body .se { color: #BB6622; font-weight: bold } /* Literal.String.Escape */ | |
body .sh { color: #BA2121 } /* Literal.String.Heredoc */ | |
body .si { color: #BB6688; font-weight: bold } /* Literal.String.Interpol */ | |
body .sx { color: #008000 } /* Literal.String.Other */ | |
body .sr { color: #BB6688 } /* Literal.String.Regex */ | |
body .s1 { color: #BA2121 } /* Literal.String.Single */ | |
body .ss { color: #19177C } /* Literal.String.Symbol */ | |
body .bp { color: #008000 } /* Name.Builtin.Pseudo */ | |
body .fm { color: #0000FF } /* Name.Function.Magic */ | |
body .vc { color: #19177C } /* Name.Variable.Class */ | |
body .vg { color: #19177C } /* Name.Variable.Global */ | |
body .vi { color: #19177C } /* Name.Variable.Instance */ | |
body .vm { color: #19177C } /* Name.Variable.Magic */ | |
body .il { color: #666666 } /* Literal.Number.Integer.Long */ | |
</style> | |
</head> | |
<body> | |
<h2></h2> | |
<div class="highlight"><pre><span></span><span class="kd">contract</span> <span class="nx">EndowmentRetriever</span> <span class="p">{</span> | |
<span class="kt">address</span> <span class="nx">creator</span><span class="p">;</span> | |
<span class="kt">uint</span> <span class="nx">contract_creation_value</span><span class="p">;</span> <span class="c1">// original endowment</span> | |
<span class="kd">function</span> <span class="nx">EndowmentRetriever</span><span class="p">()</span> <span class="k">public</span> | |
<span class="p">{</span> | |
<span class="nx">creator</span> <span class="o">=</span> <span class="nx">msg</span><span class="p">.</span><span class="nx">sender</span><span class="p">;</span> | |
<span class="nx">contract_creation_value</span> <span class="o">=</span> <span class="nx">msg</span><span class="p">.</span><span class="nx">value</span><span class="p">;</span> <span class="c1">// the endowment of this contract in wei </span> | |
<span class="p">}</span> | |
<span class="kd">function</span> <span class="nx">getContractCreationValue</span><span class="p">()</span> <span class="k">constant</span> <span class="k">returns</span> <span class="p">(</span><span class="kt">uint</span><span class="p">)</span> <span class="c1">// returns the original endowment of the contract</span> | |
<span class="p">{</span> <span class="c1">// set at creation time with "value: <someweivalue>" </span> | |
<span class="k">return</span> <span class="nx">contract_creation_value</span><span class="p">;</span> <span class="c1">// this was the "balance" of the contract at creation time</span> | |
<span class="p">}</span> | |
<span class="kd">function</span> <span class="nx">sendOneEtherHome</span><span class="p">()</span> <span class="k">public</span> | |
<span class="p">{</span> | |
<span class="nx">creator</span><span class="p">.</span><span class="nx">send</span><span class="p">(</span><span class="mi">1000000000000000000</span><span class="p">);</span> <span class="c1">// send 1 ETH home</span> | |
<span class="p">}</span> | |
<span class="cs">/**********</span> | |
<span class="cs"> Standard kill() function to recover funds </span> | |
<span class="cs"> **********/</span> | |
<span class="kd">function</span> <span class="nx">kill</span><span class="p">()</span> | |
<span class="p">{</span> | |
<span class="k">if</span> <span class="p">(</span><span class="nx">msg</span><span class="p">.</span><span class="nx">sender</span> <span class="o">==</span> <span class="nx">creator</span><span class="p">)</span> | |
<span class="p">{</span> | |
<span class="nx">suicide</span><span class="p">(</span><span class="nx">creator</span><span class="p">);</span> <span class="c1">// kills this contract and sends remaining funds back to creator</span> | |
<span class="p">}</span> | |
<span class="p">}</span> | |
<span class="p">}</span> | |
</pre></div> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment