version 2 transactions should be standard #1557

Closed
daira opened this Issue Oct 18, 2016 · 1 comment

Comments

Projects
None yet
1 participant
@daira
Contributor

daira commented Oct 18, 2016

At https://github.com/zcash/zcash/blob/v1.0.0-rc1/src/main.cpp#L640 we have:

bool IsStandardTx(const CTransaction& tx, string& reason)
{
    if (tx.nVersion > CTransaction::CURRENT_VERSION || tx.nVersion < 1) {
        reason = "version";
        return false;
    }
    ...

and in https://github.com/zcash/zcash/blob/v1.0.0-rc1/src/primitives/transaction.h#L297:

    static const int32_t CURRENT_VERSION=1;

So version 2 transactions are not standard. This is bad! How did transactions with JoinSplits ever get mined or relayed?!

@daira daira added this to the 1.0.0-rc2 milestone Oct 18, 2016

@daira daira self-assigned this Oct 18, 2016

@daira daira added the has PR label Oct 18, 2016

zkbot pushed a commit that referenced this issue Oct 20, 2016

zkbot
Auto merge of #1566 - daira:1557.make-v2-txns-standard, r=daira
1557.make v2 txns standard

Make v2 transactions standard. This also corrects a rule about admitting large orphan transactions into the mempool, to account for v2-specific fields. ref #1557

zkbot pushed a commit that referenced this issue Oct 21, 2016

zkbot
Auto merge of #1566 - daira:1557.make-v2-txns-standard, r=daira
1557.make v2 txns standard

Make v2 transactions standard. This also corrects a rule about admitting large orphan transactions into the mempool, to account for v2-specific fields. ref #1557

zkbot pushed a commit that referenced this issue Oct 21, 2016

zkbot
Auto merge of #1566 - daira:1557.make-v2-txns-standard, r=ageis
1557.make v2 txns standard

Make v2 transactions standard. This also corrects a rule about admitting large orphan transactions into the mempool, to account for v2-specific fields. ref #1557
@daira

This comment has been minimized.

Show comment
Hide comment
@daira

daira Oct 22, 2016

Contributor

Another thing I forgot is that version 0 transactions were intended be disallowed as a consensus rule (not just a standard rule); the minimum tx version is 1. I might have time to implement that tomorrow morning, although I think we can live without it.

Contributor

daira commented Oct 22, 2016

Another thing I forgot is that version 0 transactions were intended be disallowed as a consensus rule (not just a standard rule); the minimum tx version is 1. I might have time to implement that tomorrow morning, although I think we can live without it.

str4d added a commit to str4d/zcash that referenced this issue Oct 22, 2016

str4d added a commit to str4d/zcash that referenced this issue Oct 22, 2016

zkbot pushed a commit that referenced this issue Oct 22, 2016

zkbot
Auto merge of #1600 - str4d:1557-consensus-rule-disallow-v0-txns, r=e…
…bfull

Disallow v0 transactions as a consensus rule

Closes #1557

zkbot pushed a commit that referenced this issue Oct 22, 2016

zkbot
Auto merge of #1600 - str4d:1557-consensus-rule-disallow-v0-txns, r=d…
…aira

Disallow v0 transactions as a consensus rule

Closes #1557

@zkbot zkbot closed this in #1600 Oct 22, 2016

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