| 1937 | } |
| 1938 | |
| 1939 | CAmount GetProofOfWorkReward(int64_t nFees, int nHeight) |
| 1940 | { |
| 1941 | CAmount nSubsidy = 1 * COIN; |
| 1942 | const CChainParams& chainParams = Params(); |
| 1943 | |
| 1944 | if (Params().NetworkID() == CBaseChainParams::TESTNET) { |
| 1945 | if (nHeight < 20) return 250000 * COIN; |
| 1946 | } |
| 1947 | |
| 1948 | if (Params().NetworkID() == CBaseChainParams::REGTEST) { |
| 1949 | if (nHeight < 5) { |
| 1950 | return 50000 * COIN; |
| 1951 | } |
| 1952 | else return COIN + nFees; |
| 1953 | } |
| 1954 | |
| 1955 | if (nHeight < 1) { |
| 1956 | nSubsidy = 1 * COIN; |
| 1957 | } else if (nHeight == 1) { |
| 1958 | nSubsidy = 3000000 * COIN; |
| 1959 | } else if (nHeight < 500) { |
| 1960 | nSubsidy = 1 * COIN; |
| 1961 | } else if (nHeight == 501) { |
| 1962 | nSubsidy = 1000 * COIN; |
| 1963 | } else if (nHeight >= 500 && nHeight < chainParams.StartDevfeeBlock()) { |
| 1964 | nSubsidy = 10 * COIN; |
| 1965 | } else if (nHeight >= chainParams.StartDevfeeBlock() && nHeight < 6000000) { |
| 1966 | nSubsidy = 8 * COIN; |
| 1967 | } else { |
| 1968 | nSubsidy = 1 * COIN; |
| 1969 | } |
| 1970 | |
| 1971 | if (nHeight < LAST_HEIGHT_FEE_BLOCK) { |
| 1972 | if (Params().NetworkID() == CBaseChainParams::TESTNET && nHeight >= 20) |
| 1973 | return nSubsidy + nFees; |
| 1974 | nFees = nHeight; |
| 1975 | } |
| 1976 | |
| 1977 | return nSubsidy + nFees; |
| 1978 | } |
| 1979 | |
| 1980 | CAmount GetProofOfStakeReward(int64_t nFees, int nHeight) |
| 1981 | { |