Forum Home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular

    [Dev] Documenting Feathercoin Specific Software settings - Part 17

    Technical Development
    1
    50
    8458
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • wrapper
      wrapper Moderators last edited by

      Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

      Initial work on tests allowing the test app to build. :: commit

      Work on tests allowing the test app to build.

      Correct issues with unit tests due to interface and new code variables etc.

      https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

      src/test/miner_tests.cpp

      File removed

       -// Copyright (c) 2011     -2014 The Bitcoin Core developers
       -// Distributed under the MIT/X11 software license, see the accompanying
       -// file COPYING or http://www.opensource.org/licenses/mit -license.php.
       -
       -#include "main.h"
       -#include "miner.h"
       -#include "uint256.h"
       -#include "util.h"
       -
       -#include <boost/test/unit_test.hpp>
       -
       -extern void SHA256Transform(void* pstate, void* pinput, const void* pinit);
       -
       -BOOST_AUTO_TEST_SUITE(miner_tests)
      

      Example code removed

      1 Reply Last reply Reply Quote 0
      • wrapper
        wrapper Moderators last edited by

        Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

        Initial work on tests allowing the test app to build. :: commit

        Work on tests allowing the test app to build.

        Correct issues with unit tests due to interface and new code variables etc.

        https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

        src/test/multisig_tests.cpp

         -    BOOST_FOREACH(const CKey &key, keys)
        
         +    BOOST_FOREACH(CKey &key, keys)
        

        Code replaced

        1 Reply Last reply Reply Quote 0
        • wrapper
          wrapper Moderators last edited by

          Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

          Initial work on tests allowing the test app to build. :: commit

          Work on tests allowing the test app to build.

          Correct issues with unit tests due to interface and new code variables etc.

          https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

          src/test/rpc_tests.cpp

            -BOOST_AUTO_TEST_CASE(rpc_rawsign)
          
           +/*BOOST_AUTO_TEST_CASE(rpc_rawsign)
          
           +}*/
          

          code commented out

          1 Reply Last reply Reply Quote 0
          • wrapper
            wrapper Moderators last edited by

            Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

            Initial work on tests allowing the test app to build. :: commit

            Work on tests allowing the test app to build.

            Correct issues with unit tests due to interface and new code variables etc.

            https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

            src/test/rpc_tests.cpp

            - LOCK(pwalletMain->cs_wallet);
            
            + LOCK2(cs_main, pwalletMain->cs_wallet);
            

            Code replaced

            1 Reply Last reply Reply Quote 0
            • wrapper
              wrapper Moderators last edited by

              Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

              Initial work on tests allowing the test app to build. :: commit

              Work on tests allowing the test app to build.

              Correct issues with unit tests due to interface and new code variables etc.

              https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

              src/test/script_P2SH_tests.cpp

              +    LOCK(cs_main);
              

              Code added

               +    LOCK(cs_main);
              

              Code added
              - keys.push_back(key[i].GetPubKey());
              + keys.push_back(key[i]);
              }

               CScript inner[4];
               inner[0].SetDestination(key[0].GetPubKey().GetID());
              
               -    inner[1].SetMultisig(2, std::vector<CPubKey>(keys.begin(), keys.begin()+2));
               +    inner[1].SetMultisig(2, std::vector<CKey>(keys.begin(), keys.begin()+2));
              
               -    inner[2].SetMultisig(1, std::vector<CPubKey>(keys.begin(), keys.begin()+2));
               +    inner[2].SetMultisig(1, std::vector<CKey>(keys.begin(), keys.begin()+2));
              
               -    inner[3].SetMultisig(2, std::vector<CPubKey>(keys.begin(), keys.begin()+3));
               +    inner[3].SetMultisig(2, std::vector<CKey>(keys.begin(), keys.begin()+3));
              

              Code replaced

              -    vector<CPubKey> keys;
              
              +    vector<CKey> keys;
              

              Code replaced

               -        keys.push_back(key[i].GetPubKey());
              
               +        keys.push_back(key[i]);
              

              Code replaced

              1 Reply Last reply Reply Quote 0
              • wrapper
                wrapper Moderators last edited by

                Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                Initial work on tests allowing the test app to build. :: commit

                Work on tests allowing the test app to build.

                Correct issues with unit tests due to interface and new code variables etc.

                https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

                src/test/script_tests.cpp

                 +        int flagsNow = flags;
                 +        if (test.size() > 3 && ("," + test[2].get_str() + ",").find(",DERSIG,") != string::npos) {
                 +            flagsNow |= SCRIPT_VERIFY_DERSIG;
                 +        }
                 +
                

                Code added

                 -        BOOST_CHECK_MESSAGE(VerifyScript(scriptSig, scriptPubKey, tx, 0, flags, SIGHASH_NONE), strTest);
                
                 +        BOOST_CHECK_MESSAGE(VerifyScript(scriptSig, scriptPubKey, tx, 0, flagsNow, SIGHASH_NONE), strTest);
                

                Code replaced

                 +        int flagsNow = flags;
                 +        if (test.size() > 3 && (","      + test[2].get_str()      + ",").find(",DERSIG,") != string::npos) {
                 +            flagsNow |= SCRIPT_VERIFY_DERSIG;
                 +        }
                 +
                     CTransaction tx;
                
                 -        BOOST_CHECK_MESSAGE(!VerifyScript(scriptSig, scriptPubKey, tx, 0, flags, SIGHASH_NONE), strTest);
                 +        BOOST_CHECK_MESSAGE(!VerifyScript(scriptSig, scriptPubKey, tx, 0, flagsNow, SIGHASH_NONE), strTest);
                
                
                
                 @@      -209,7      +219,7 @@ sign_multisig(CScript scriptPubKey, std::vector<CKey> keys, CTransaction transac
                 // and vice     -versa)
                 //
                
                 result << OP_0;
                 -    BOOST_FOREACH(const CKey &key, keys)
                 +    BOOST_FOREACH(CKey &key, keys)
                
                 {
                
                     vector<unsigned char> vchSig;
                     BOOST_CHECK(key.Sign(hash, vchSig));
                  @@      -390,7      +400,7 @@ BOOST_AUTO_TEST_CASE(script_combineSigs)
                 BOOST_CHECK(combined == scriptSig);
                
                
                  // Hardest case:  Multisig 2 -of -3
                 -    scriptPubKey.SetMultisig(2, pubkeys);
                 +    scriptPubKey.SetMultisig(2, keys);
                

                Code replaced

                1 Reply Last reply Reply Quote 0
                • wrapper
                  wrapper Moderators last edited by

                  Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                  Initial work on tests allowing the test app to build. :: commit

                  Work on tests allowing the test app to build.

                  Correct issues with unit tests due to interface and new code variables etc.

                  https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

                  src/test/scriptnum_tests.cpp

                  New file

                   +// Copyright (c) 2012-2014 The Bitcoin Core developers
                   +// Distributed under the MIT/X11 software license, see the accompanying
                   +// file COPYING or http://www.opensource.org/licenses/mit-license.php.
                   +
                   +#include "bignum.h"
                   +#include "script.h"
                   +#include <boost/test/unit_test.hpp>
                   +#include <limits.h>
                   +#include <stdint.h>
                   +BOOST_AUTO_TEST_SUITE(scriptnum_tests)
                   +
                   +static const int64_t values[] = \
                   +{ 0, 1, CHAR_MIN, CHAR_MAX, UCHAR_MAX, SHRT_MIN, USHRT_MAX, INT_MIN, INT_MAX, UINT_MAX, LONG_MIN, LONG_MAX };
                   +static const int64_t offsets[] = { 1, 0x79, 0x80, 0x81, 0xFF, 0x7FFF, 0x8000, 0xFFFF, 0x10000};
                   +
                   +static bool verify(const CBigNum& bignum, const CScriptNum& scriptnum)
                   +{
                   +    return bignum.getvch() == scriptnum.getvch() && bignum.getint() == scriptnum.getint();
                   +}
                   +
                   +static void CheckCreateVch(const int64_t& num)
                   +{
                   +    CBigNum bignum(num);
                   +    CScriptNum scriptnum(num);
                   +    BOOST_CHECK(verify(bignum, scriptnum));
                   +
                   +    CBigNum bignum2(bignum.getvch());
                   +    CScriptNum scriptnum2(scriptnum.getvch());
                   +    BOOST_CHECK(verify(bignum2, scriptnum2));
                   +
                   +    CBigNum bignum3(scriptnum2.getvch());
                   +    CScriptNum scriptnum3(bignum2.getvch());
                   +    BOOST_CHECK(verify(bignum3, scriptnum3));
                   +}
                   +
                   +static void CheckCreateInt(const int64_t& num)
                   +{
                   +    CBigNum bignum(num);
                   +    CScriptNum scriptnum(num);
                   +    BOOST_CHECK(verify(bignum, scriptnum));
                   +    BOOST_CHECK(verify(bignum.getint(), CScriptNum(scriptnum.getint())));
                   +    BOOST_CHECK(verify(scriptnum.getint(), CScriptNum(bignum.getint())));
                   +    BOOST_CHECK(verify(CBigNum(scriptnum.getint()).getint(), CScriptNum(CScriptNum(bignum.getint()).getint())));
                   +}
                   +
                   +
                   +static void CheckAdd(const int64_t& num1, const int64_t& num2)
                   +{
                   +    const CBigNum bignum1(num1);
                   +    const CBigNum bignum2(num2);
                   +    const CScriptNum scriptnum1(num1);
                   +    const CScriptNum scriptnum2(num2);
                   +    CBigNum bignum3(num1);
                   +    CBigNum bignum4(num1);
                   +    CScriptNum scriptnum3(num1);
                   +    CScriptNum scriptnum4(num1);
                   +
                   +    // int64_t overflow is undefined.
                   +    bool invalid = (((num2 > 0) && (num1 > (std::numeric_limits<int64_t>::max() - num2))) ||
                   +                    ((num2 < 0) && (num1 < (std::numeric_limits<int64_t>::min() - num2))));
                   +    if (!invalid)
                   +    {
                   +        BOOST_CHECK(verify(bignum1 + bignum2, scriptnum1 + scriptnum2));
                   +        BOOST_CHECK(verify(bignum1 + bignum2, scriptnum1 + num2));
                   +        BOOST_CHECK(verify(bignum1 + bignum2, scriptnum2 + num1));
                   +    }
                   +}
                   +
                   +static void CheckNegate(const int64_t& num)
                   +{
                   +    const CBigNum bignum(num);
                   +    const CScriptNum scriptnum(num);
                   +
                   +    // -INT64_MIN is undefined
                   +    if (num != std::numeric_limits<int64_t>::min())
                   +        BOOST_CHECK(verify(-bignum, -scriptnum));
                   +}
                   +
                   +static void CheckSubtract(const int64_t& num1, const int64_t& num2)
                   +{
                   +    const CBigNum bignum1(num1);
                   +    const CBigNum bignum2(num2);
                   +    const CScriptNum scriptnum1(num1);
                   +    const CScriptNum scriptnum2(num2);
                   +    bool invalid = false;
                   +
                   +    // int64_t overflow is undefined.
                   +    invalid = ((num2 > 0 && num1 < std::numeric_limits<int64_t>::min() + num2) ||
                   +               (num2 < 0 && num1 > std::numeric_limits<int64_t>::max() + num2));
                   +    if (!invalid)
                   +    {
                   +        BOOST_CHECK(verify(bignum1 - bignum2, scriptnum1 - scriptnum2));
                   +        BOOST_CHECK(verify(bignum1 - bignum2, scriptnum1 - num2));
                   +    }
                   +
                   +    invalid = ((num1 > 0 && num2 < std::numeric_limits<int64_t>::min() + num1) ||
                   +               (num1 < 0 && num2 > std::numeric_limits<int64_t>::max() + num1));
                   +    if (!invalid)
                   +    {
                   +        BOOST_CHECK(verify(bignum2 - bignum1, scriptnum2 - scriptnum1));
                   +        BOOST_CHECK(verify(bignum2 - bignum1, scriptnum2 - num1));
                   +    }
                   +}
                   +
                   +static void CheckCompare(const int64_t& num1, const int64_t& num2)
                   +{
                   +    const CBigNum bignum1(num1);
                   +    const CBigNum bignum2(num2);
                   +    const CScriptNum scriptnum1(num1);
                   +    const CScriptNum scriptnum2(num2);
                   +
                   +    BOOST_CHECK((bignum1 == bignum1) == (scriptnum1 == scriptnum1));
                   +    BOOST_CHECK((bignum1 != bignum1) ==  (scriptnum1 != scriptnum1));
                   +    BOOST_CHECK((bignum1 < bignum1) ==  (scriptnum1 < scriptnum1));
                   +    BOOST_CHECK((bignum1 > bignum1) ==  (scriptnum1 > scriptnum1));
                   +    BOOST_CHECK((bignum1 >= bignum1) ==  (scriptnum1 >= scriptnum1));
                   +    BOOST_CHECK((bignum1 <= bignum1) ==  (scriptnum1 <= scriptnum1));
                   +
                   +    BOOST_CHECK((bignum1 == bignum1) == (scriptnum1 == num1));
                   +    BOOST_CHECK((bignum1 != bignum1) ==  (scriptnum1 != num1));
                   +    BOOST_CHECK((bignum1 < bignum1) ==  (scriptnum1 < num1));
                   +    BOOST_CHECK((bignum1 > bignum1) ==  (scriptnum1 > num1));
                   +    BOOST_CHECK((bignum1 >= bignum1) ==  (scriptnum1 >= num1));
                   +    BOOST_CHECK((bignum1 <= bignum1) ==  (scriptnum1 <= num1));
                   +
                   +    BOOST_CHECK((bignum1 == bignum2) ==  (scriptnum1 == scriptnum2));
                   +    BOOST_CHECK((bignum1 != bignum2) ==  (scriptnum1 != scriptnum2));
                   +    BOOST_CHECK((bignum1 < bignum2) ==  (scriptnum1 < scriptnum2));
                   +    BOOST_CHECK((bignum1 > bignum2) ==  (scriptnum1 > scriptnum2));
                   +    BOOST_CHECK((bignum1 >= bignum2) ==  (scriptnum1 >= scriptnum2));
                   +    BOOST_CHECK((bignum1 <= bignum2) ==  (scriptnum1 <= scriptnum2));
                   +
                   +    BOOST_CHECK((bignum1 == bignum2) ==  (scriptnum1 == num2));
                   +    BOOST_CHECK((bignum1 != bignum2) ==  (scriptnum1 != num2));
                   +    BOOST_CHECK((bignum1 < bignum2) ==  (scriptnum1 < num2));
                   +    BOOST_CHECK((bignum1 > bignum2) ==  (scriptnum1 > num2));
                   +    BOOST_CHECK((bignum1 >= bignum2) ==  (scriptnum1 >= num2));
                   +    BOOST_CHECK((bignum1 <= bignum2) ==  (scriptnum1 <= num2));
                   +}
                   +
                   +static void RunCreate(const int64_t& num)
                   +{
                   +    CheckCreateInt(num);
                   +    CScriptNum scriptnum(num);
                   +    if (scriptnum.getvch().size() <= CScriptNum::nMaxNumSize)
                   +        CheckCreateVch(num);
                   +    else
                   +    {
                   +        BOOST_CHECK_THROW (CheckCreateVch(num), scriptnum_error);
                   +    }
                   +}
                   +
                   +static void RunOperators(const int64_t& num1, const int64_t& num2)
                   +{
                   +    CheckAdd(num1, num2);
                   +    CheckSubtract(num1, num2);
                   +    CheckNegate(num1);
                   +    CheckCompare(num1, num2);
                   +}
                   +
                   +BOOST_AUTO_TEST_CASE(creation)
                   +{
                   +    for(size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i)
                   +    {
                   +        for(size_t j = 0; j < sizeof(offsets) / sizeof(offsets[0]); ++j)
                   +        {
                   +            RunCreate(values[i]);
                   +            RunCreate(values[i] + offsets[j]);
                   +            RunCreate(values[i] - offsets[j]);
                   +        }
                   +    }
                   +}
                   +
                   +BOOST_AUTO_TEST_CASE(operators)
                   +{
                   +    for(size_t i = 0; i < sizeof(values) / sizeof(values[0]); ++i)
                   +    {
                   +        for(size_t j = 0; j < sizeof(offsets) / sizeof(offsets[0]); ++j)
                   +        {
                   +            RunOperators(values[i], values[i]);
                   +            RunOperators(values[i], -values[i]);
                   +            RunOperators(values[i], values[j]);
                   +            RunOperators(values[i], -values[j]);
                   +            RunOperators(values[i] + values[j], values[j]);
                   +            RunOperators(values[i] + values[j], -values[j]);
                   +            RunOperators(values[i] - values[j], values[j]);
                   +            RunOperators(values[i] - values[j], -values[j]);
                   +            RunOperators(values[i] + values[j], values[i] + values[j]);
                   +            RunOperators(values[i] + values[j], values[i] - values[j]);
                   +            RunOperators(values[i] - values[j], values[i] + values[j]);
                   +            RunOperators(values[i] - values[j], values[i] - values[j]);
                   +        }
                   +    }
                   +}
                   +
                   +BOOST_AUTO_TEST_SUITE_END()
                  

                  Code added

                  1 Reply Last reply Reply Quote 0
                  • wrapper
                    wrapper Moderators last edited by

                    Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                    Initial work on tests allowing the test app to build. :: commit

                    Work on tests allowing the test app to build.

                    Correct issues with unit tests due to interface and new code variables etc.

                    https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

                    src/test/sigopcount_tests.cpp

                    -    std::vector<CPubKey> keys;
                    
                    +    std::vector<CKey> keys;
                    

                    Code replaced

                     -        keys.push_back(k.GetPubKey());
                    
                     +        keys.push_back(k);
                    

                    Code replaced

                    1 Reply Last reply Reply Quote 0
                    • wrapper
                      wrapper Moderators last edited by

                      Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                      Initial work on tests allowing the test app to build. :: commit

                      Work on tests allowing the test app to build.

                      Correct issues with unit tests due to interface and new code variables etc.

                      https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

                      src/test/transaction_tests.cpp

                       +    LOCK(cs_main);
                      

                      Code added

                      1 Reply Last reply Reply Quote 0
                      • wrapper
                        wrapper Moderators last edited by

                        Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                        Initial work on tests allowing the test app to build. :: commit

                        Work on tests allowing the test app to build.

                        Correct issues with unit tests due to interface and new code variables etc.

                        https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

                        src/test/util_tests.cpp

                         -/*These are platform-dependant and thus removed to avoid useless test failures
                        
                         -    // Formats used within Bitcoin
                        

                        Code / comments removed

                         +    BOOST_CHECK_EQUAL(DateTimeStrFormat("%a, %d %b %Y %H:%M:%S +0000", 1317425777), "Fri, 30 Sep 2011 23:36:17 +0000");
                        

                        Code added

                         -    BOOST_CHECK(strprintf("%s %d %s", B, s64t, E) == B" -9223372036854775807 "E);
                         +    BOOST_CHECK(strprintf("%s %d %s", B, s64t, E) == B" -9223372036854775807 " E);
                        
                         -    BOOST_CHECK(strprintf("%s %u %s", B, u64t, E) == B" 18446744073709551615 "E);
                         +    BOOST_CHECK(strprintf("%s %u %s", B, u64t, E) == B" 18446744073709551615 " E);
                        
                         -    BOOST_CHECK(strprintf("%s %x %s", B, u64t, E) == B" ffffffffffffffff "E);
                         +    BOOST_CHECK(strprintf("%s %x %s", B, u64t, E) == B" ffffffffffffffff " E);
                        
                        
                         size_t st = 12345678; /* unsigned size_t test value */
                         ssize_t sst = -12345678; /* signed size_t test value */
                        
                         -    BOOST_CHECK(strprintf("%s %"PRIszd" %s", B, sst, E) == B" -12345678 "E);
                         +    BOOST_CHECK(strprintf("%s %d %s", B, sst, E) == B" -12345678 " E);
                         -    BOOST_CHECK(strprintf("%s %"PRIszu" %s", B, st, E) == B" 12345678 "E);
                         +    BOOST_CHECK(strprintf("%s %u %s", B, st, E) == B" 12345678 " E);
                         -    BOOST_CHECK(strprintf("%s %"PRIszx" %s", B, st, E) == B" bc614e "E);
                         +    BOOST_CHECK(strprintf("%s %x %s", B, st, E) == B" bc614e " E);
                        
                        
                         ptrdiff_t pt = 87654321; /* positive ptrdiff_t test value */
                         ptrdiff_t spt = -87654321; /* negative ptrdiff_t test value */
                        
                         -    BOOST_CHECK(strprintf("%s %"PRIpdd" %s", B, spt, E) == B" -87654321 "E);
                         +    BOOST_CHECK(strprintf("%s %d %s", B, spt, E) == B" -87654321 " E);
                        
                         -    BOOST_CHECK(strprintf("%s %"PRIpdu" %s", B, pt, E) == B" 87654321 "E);
                         +    BOOST_CHECK(strprintf("%s %u %s", B, pt, E) == B" 87654321 " E);
                        
                         -    BOOST_CHECK(strprintf("%s %"PRIpdx" %s", B, pt, E) == B" 5397fb1 "E);
                         +    BOOST_CHECK(strprintf("%s %x %s", B, pt, E) == B" 5397fb1 " E);
                        

                        Code replaced

                        1 Reply Last reply Reply Quote 0
                        • wrapper
                          wrapper Moderators last edited by wrapper

                          Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                          Initial work on tests allowing the test app to build. :: commit

                          Work on tests allowing the test app to build.

                          Correct issues with unit tests due to interface and new code variables etc.

                          https://github.com/FeatherCoin/Feathercoin/commit/dcbb5df357a8a079ef3e21f1508c7ac0231654dc

                          src/wallet.cpp

                           +        printf("Stealth send to generated pubkey %" PRIszu ": %s\n", pkSendTo.size(), HexStr(pkSendTo).c_str());
                          
                           +        printf("ephem_pubkey %" PRIszu ": %s\n", ephem_pubkey.size(), HexStr(ephem_pubkey).c_str());
                          
                          
                           +                LogPrintf("pkExtracted=%" PRIszu ":%s\n", pkExtracted.size(), HexStr(pkExtracted).c_str());//为空
                          
                           +                LogPrintf("pkExtracted= %" PRIszu ": %s\n", pkExtracted.size(), HexStr(pkExtracted).c_str());//pkOut
                          

                          Code replaced space / padding

                          1 Reply Last reply Reply Quote 0
                          • wrapper
                            wrapper Moderators last edited by

                            Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                            Update Unix build instructions to inclide openSSL build from scratch :: commit

                            https://github.com/FeatherCoin/Feathercoin/commit/46366fc62cba1ddb37520c4d23c84c703b2408f6

                            doc/README.md

                             +
                             +### Build Feathercoin using  openSSL  from source
                             +
                             +cd ~/Feathercoin/
                             +mkdir openSSL
                             +cd openSSL
                             +wget https://www.openssl.org/source/openssl-1.0.1l.tar.gz
                             +tar zxvf openssl-1.0.1l.tar.gz
                             +cd openssl-1.0.1l
                             +export CFLAGS="-fPIC"
                             +./config --prefix=~/Feathercoin/openSSL/build shared enable-ec enable-ecdh enable-ecdsa -lanl -ldl
                             +sudo make
                             +sudo make install
                             +
                             +
                             +**Build with custom openSSL builds**
                             +
                             +cd /Feathercoin
                             +
                             +make clean
                             +
                             +./autogen.sh
                             +
                             +./configure --prefix=/home/aciddude/Feathercoin/build CPPFLAGS="-I${BDB_PREFIX}/include/ -O2" LDFLAGS="-L${BDB_PREFIX}/lib/" PKG_CONFIG_PATH=/home/aciddude/Feathercoin/openSSL/build/lib/pkgconfig LIBS=-Wl,-rpath=/home/aciddude/Feathercoin/openSSL/build/lib --disable-tests SSL_LIBS="/home/aciddude/Feathercoin/openSSL/build/lib/libssl.a /home/aciddude/Feathercoin/openSSL/build/lib/libcrypto.a -ldl" --with-gui
                             +
                             +time make
                             +
                             +sudo make install
                             +
                             +
                            

                            Code added

                            1 Reply Last reply Reply Quote 0
                            • wrapper
                              wrapper Moderators last edited by

                              Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                              Final fix for build tests :: commit

                              Work on tests allowing the test app to build.

                              Correct issues with unit tests due to interface and new code variables etc.

                              https://github.com/FeatherCoin/Feathercoin/commit/2d17002e704eeeb05cbd14dc57e7b91482f31f3f

                              src/test/base58_tests.cpp

                               +            CSecret privkey(exp_payload.begin(), exp_payload.end());
                                            CKey key;
                              
                               -            CSecret secret2;
                              
                               +            key.SetSecret(privkey, isCompressed);
                              
                               -            key.SetSecret(secret2); 
                               -            secret.SetSecret(secret2, isCompressed);
                               -            BOOST_CHECK_MESSAGE(secret.ToString() == exp_base58string, "result mismatch: " + strTest);
                              
                               +            bool fCompressed=false;
                               +            secret.SetSecret(privkey, isCompressed);
                               +            BOOST_CHECK_MESSAGE(secret.ToString().c_str() == exp_base58string, "result mismatch: " + strTest);
                                   }
                                   }
                               +        
                              

                              Code replaced

                              1 Reply Last reply Reply Quote 0
                              • wrapper
                                wrapper Moderators last edited by

                                Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                                Final fix for build tests :: commit

                                Work on tests allowing the test app to build.

                                Correct issues with unit tests due to interface and new code variables etc.

                                https://github.com/FeatherCoin/Feathercoin/commit/2d17002e704eeeb05cbd14dc57e7b91482f31f3f

                                src/test/data/base58_keys_valid.json

                                  -        "5nYxd8Vcb5CwwSZzeYkLf2UHrHbet1QqDzbZDjx1h2kP6k9RJms", 
                                 +        "5njpn1dGnyhduB3Hog2tCoYcAS3XUg9F1saQAcKJbbpy2FszZcR", 
                                
                                 -        "C862A03EE716826803C17C8A0F82B86D250FB63A5044A01F906F860878E26079", 
                                 +        "E10E0E8270779EE90D3577C1AD767645933DAE88AD7049FFF17D259865BD327E", 
                                

                                Code replaced

                                1 Reply Last reply Reply Quote 0
                                • wrapper
                                  wrapper Moderators last edited by

                                  Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                                  Final fix for build tests :: commit

                                  Work on tests allowing the test app to build.

                                  Correct issues with unit tests due to interface and new code variables etc.

                                  https://github.com/FeatherCoin/Feathercoin/commit/2d17002e704eeeb05cbd14dc57e7b91482f31f3f

                                  src/test/key_tests.cpp

                                   -        "5nYxd8Vcb5CwwSZzeYkLf2UHrHbet1QqDzbZDjx1h2kP6k9RJms", 
                                   +        "5njpn1dGnyhduB3Hog2tCoYcAS3XUg9F1saQAcKJbbpy2FszZcR", 
                                  
                                   -         "C862A03EE716826803C17C8A0F82B86D250FB63A5044A01F906F860878E26079", 
                                   +        "E10E0E8270779EE90D3577C1AD767645933DAE88AD7049FFF17D259865BD327E", 
                                  

                                  Code replaced

                                  1 Reply Last reply Reply Quote 0
                                  • wrapper
                                    wrapper Moderators last edited by

                                    Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                                    Final fix for build tests :: commit

                                    Work on tests allowing the test app to build.

                                    Correct issues with unit tests due to interface and new code variables etc.

                                    https://github.com/FeatherCoin/Feathercoin/commit/2d17002e704eeeb05cbd14dc57e7b91482f31f3f

                                    src/test/key_tests.cpp

                                     -    key1C.SetSecret(secret1C);
                                    
                                     +    key1C.SetSecret(secret1C, fCompressed);
                                    

                                    Code replaced

                                     -    key2C.SetSecret(secret2C);
                                    
                                     +    key2C.SetSecret(secret2C, fCompressed);
                                    

                                    Code replaced

                                    1 Reply Last reply Reply Quote 0
                                    • wrapper
                                      wrapper Moderators last edited by

                                      Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                                      Final fix for build tests :: commit

                                      Work on tests allowing the test app to build.

                                      Correct issues with unit tests due to interface and new code variables etc.

                                      https://github.com/FeatherCoin/Feathercoin/commit/2d17002e704eeeb05cbd14dc57e7b91482f31f3f

                                      src/test/main_tests.cpp

                                        -    for (int nHeight = 0; nHeight < 14000000; nHeight += 1000) {
                                      
                                       +    for (int nHeight = 0; nHeight < 21000000; nHeight += 1000) {
                                      

                                      Code replaced

                                       -    BOOST_CHECK(nSum == 2099999997690000ULL);
                                      
                                       +    BOOST_CHECK_EQUAL(nSum, 33581578125000000ULL);
                                      

                                      Code replaced

                                      1 Reply Last reply Reply Quote 0
                                      • wrapper
                                        wrapper Moderators last edited by

                                        Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                                        Final fix for build tests :: commit

                                        Work on tests allowing the test app to build.

                                        Correct issues with unit tests due to interface and new code variables etc.

                                        https://github.com/FeatherCoin/Feathercoin/commit/2d17002e704eeeb05cbd14dc57e7b91482f31f3f

                                        src/test/transaction_tests.cpp

                                         -    t.vout[0].nValue = 501; // dust
                                         +    t.vout[0].nValue = 5011; // dust
                                        
                                         -    BOOST_CHECK(!IsStandardTx(t, reason));
                                         +    // Feathercoin does not enforce isDust().  Per dust fees are considered sufficient as deterrant.
                                         +    // BOOST_CHECK(!IsStandardTx(t, reason));
                                        

                                        Code replaced

                                         -    t.vout[0].nValue = 601; // not dust
                                        
                                         +    t.vout[0].nValue = 6011; // not dust
                                        

                                        Code replaced

                                        1 Reply Last reply Reply Quote 0
                                        • wrapper
                                          wrapper Moderators last edited by

                                          Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                                          Removed legacy test :: commit

                                          Work on tests allowing the test app to build.

                                          Correct issues with unit tests due to interface and new code variables etc.

                                          https://github.com/FeatherCoin/Feathercoin/commit/921d7eb2a9d53ade7c991420fe888a903a471e69

                                          src/test/Makefile.am

                                           -  alert_tests.cpp \
                                          
                                           -  bloom_tests.cpp \
                                          
                                          -  miner_tests.cpp \
                                          

                                          Code removed

                                          1 Reply Last reply Reply Quote 0
                                          • wrapper
                                            wrapper Moderators last edited by

                                            Feathercoin specific changes made to convert Bitcoin to FTC 0.9.6.*

                                            Fixed calculation / block reward :: commit

                                            Work on tests allowing the test app to build.

                                            Correct issues with unit tests due to interface and new code variables etc.

                                            https://github.com/FeatherCoin/Feathercoin/commit/963769e83cfe95710807508462058e03ccc4a38a

                                            src/test/main_tests.cpp

                                             -    for (int nHeight = 0; nHeight < 21000000; nHeight += 1000) {
                                             +    for (int nHeight = 0 ; nHeight < 204638; nHeight += 1000) {
                                            
                                                 uint64_t nSubsidy = GetBlockValue(nHeight, 0);
                                                 BOOST_CHECK(nSubsidy <= 200 * COIN);
                                                 nSum += nSubsidy * 1000;
                                                 BOOST_CHECK(MoneyRange(nSum));
                                             }
                                             -    BOOST_CHECK_EQUAL(nSum, 33581578125000000ULL);
                                            
                                             +    for (int nHeight = 204639 ; nHeight < 23919999; nHeight += 1000) {
                                             +        uint64_t nSubsidy = GetBlockValue(nHeight, 0);
                                             +        BOOST_CHECK(nSubsidy <= 80 * COIN);
                                             +        nSum  += nSubsidy * 1000;
                                             +        BOOST_CHECK(MoneyRange(nSum));
                                             +    }
                                             +    BOOST_CHECK_EQUAL(nSum, 33599996093750000ULL);
                                            

                                            Code replaced

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post