# Gavin Andresen
# 2011-09-12 23:31:11
# https://bitcointalk.org/index.php?topic=42417.msg522046#msg522046

RE: where in the code:  script.cpp @p{par}


Code:
static const size_t nMaxNumSize = 4; @p{par}

 @p{brk}
CBigNum CastToBigNum(const valtype& vch) @p{brk}
{ @p{brk}
    if (vch.size() @s{gt} nMaxNumSize) @p{brk}
        throw runtime_error("CastToBigNum() : overflow"); @p{brk}
    // Get rid of extra leading zeros                                                                                                                  @p{brk}
    return CBigNum(CBigNum(vch).getvch()); @p{brk}
} @p{par}


... and all of the arithmetic binary ops do a CastToBigNum() @p{par}

nMaxNumSize = 4 means numbers added must be 32-bits or less. @p{par}

RE: simpler version being redeemed by anybody by rewriting:  D'oh!  Right, definitely need a signature so the transaction can't be modified between being broadcast and being included in a block.  I'll remove it from the wiki page. @p{brk}