<div dir="ltr"><div>&gt;time &gt;= 1506816000 &amp;&amp; time &lt;= 1510704000 &amp;&amp; !IsWitnessEnabled()</div><div>This has a different start time from the first post.<br></div><div>&gt;if (pindex-&gt;GetMedianTimePast() &gt;= 1538352000 &amp;&amp; pindex-&gt;GetMedianTimePast() &lt;= 1510704000 ...</div><div><br></div><div>Thanks,</div><div>--Nick</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Mar 13, 2017 at 4:36 AM, shaolinfry via bitcoin-dev <span dir="ltr">&lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org" target="_blank">bitcoin-dev@lists.linuxfoundation.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="m_-5341855942065665472protonmail_quote" type="cite"><div>From: <a href="mailto:luke@dashjr.org" target="_blank">luke@dashjr.org</a><br></div><span class=""><div>On Sunday, March 12, 2017 3:50:27 PM shaolinfry via bitcoin-dev wrote:<br></div><div>&gt; // mandatory segwit activation between Oct 1st 2017 and Nov 15th 2017<br></div><div>&gt; inclusive if (pindex-&gt;GetMedianTimePast() &gt;= 1538352000 &amp;&amp;<br></div><div>&gt; pindex-&gt;GetMedianTimePast() &lt;= 1510704000 &amp;&amp;<br></div><div>&gt; !IsWitnessEnabled(pindex-&gt;<wbr>pprev, chainparams.GetConsensus())) {<br></div><div>&gt;     if (!((pindex-&gt;nVersion &amp; VERSIONBITS_TOP_MASK) ==<br></div><div>&gt;     VERSIONBITS_TOP_BITS) &amp;&amp; (pindex-&gt;nVersion &amp; VersionBitsMask(params,<br></div><div>&gt;     Consensus::DEPLOYMENT_SEGWIT)) != 0) {<br></div><div>&gt;         return state.DoS(2, error(&quot;ConnectBlock(): relayed block must<br></div><div>&gt;         signal for segwit, please upgrade&quot;), REJECT_INVALID,<br></div><div>&gt;         &quot;bad-no-segwit&quot;);<br></div><div>&gt;     }<br></div><div>&gt; }<br></div><div><br></div><div>I don&#39;t think this is actually BIP 9 compatible. Once activated, the bit loses <br></div><div>its meaning and should not be set. So you need to check that it hasn&#39;t locked-<br></div><div>in already...<br></div></span></blockquote><div><br></div><div>I believe that is handled. <br></div><div><br></div><div>time &gt;= 1506816000 &amp;&amp; time &lt;= 1510704000 &amp;&amp; !IsWitnessEnabled()<br></div><div><br></div><div>Signalling is only required from October 1st until the BIP9 timeout, or, until segwit is activated. The bit becomes  free after activation/timeout as per BIP9. Also, the default behaviour of BIP9 in Bitcoin Core is to signal through the LOCKED_IN period - it would be trivial to add a condition to not require mandatory signalling during  LOCKED_IN but since miners signal by default during this period, I figured I would leave it.<br></div><div><br></div><div>I thought about 5% tolerance. but I don&#39;t think it makes sense since miners will already have plenty of warning this is coming up and the intent of the mandatory signalling period is quite clear. It also seems a bit weird to say &quot;it&#39;s mandatory but not for 5%&quot;. If miners are required to signal, they need to signal.┬áIt also adds unnecessary complexity to an otherwise simple patch.<br></div><div><br></div><div>That said, I have no strong feelings either way on both counts, but I chose to present the simplest option first.<br></div><br>______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.<wbr>linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" rel="noreferrer" target="_blank">https://lists.linuxfoundation.<wbr>org/mailman/listinfo/bitcoin-<wbr>dev</a><br>
<br></blockquote></div><br></div>