Skip to content

Commit

Permalink
Merge pull request #12 from absolute-community/v12.2.5PRBR4
Browse files Browse the repository at this point in the history
v12.2.5 Release
  • Loading branch information
CryptoCentric authored Mar 24, 2019
2 parents 12b7f2a + b443ebd commit 99cb6d7
Show file tree
Hide file tree
Showing 470 changed files with 18,149 additions and 19,112 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Tell us what happens instead
### Screenshots.
If the issue is related to the GUI, screenshots can be added to this issue via drag & drop.

### What version of absolute-core are you using?
### What version of Absolute core are you using?
List the version number/commit ID, and if it is an official binary, self compiled or a distribution package such as PPA.

### Machine specs:
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -128,3 +128,7 @@ absoluted
absolute-qt
make
/docker/bin

# CLion
.idea
cmake-build-debug
65 changes: 65 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# This CMakeLists.txt is not meant to actually work!
# It only serves as a dummy project to make CLion work properly when it comes to symbol resolution and all the nice
# features dependent on that. Building must still be done on the command line using the automake build chain
# If you load this project in CLion and would like to run/debug executables, make sure to remove the "Build" entry from
# the run/debug configuration as otherwise CLion will try to build this project with cmake, failing horribly.
# You'll also have to manually change the executable in the configuration to the correct path of the already built executable

cmake_minimum_required(VERSION 3.7)
project(absolute)

set(CMAKE_CXX_STANDARD 11)

include_directories(
src
src/leveldb/include
src/univalue/include
)

add_definitions(
-DENABLE_WALLET=1
)

file(GLOB SOURCE_FILES
src/bench/*.cpp
src/bench/*.h
src/compat/*.cpp
src/compat/*.h
src/consensus/*.h
src/consensus/*.cpp
src/crypto/*.c
src/crypto/*.h
src/crypto/*.cpp
src/leveldb/db/*.cc
src/leveldb/db/*.h
src/leveldb/include/*.h
src/policy/*.cpp
src/policy/*.h
src/primitives/*.cpp
src/primitives/*.h
src/qt/test/*.cpp
src/qt/test/*.h
src/qt/*.cpp
src/qt/*.h
src/script/*.cpp
src/script/*.h
src/secp256k1/include/*.h
src/test/*.cpp
src/test/*.h
src/univalue/include/*.h
src/univalue/lib/*.cpp
src/univalue/lib/*.h
src/wallet/test/*.cpp
src/wallet/*.cpp
src/wallet/*.h
src/zmq/*.cpp
src/zmq/*.h
src/*.cpp
src/*.h
src/evo/*.h
src/evo/*.cpp
src/rpc/*.cpp
src/rpc/*.h
)

add_executable(absolute ${SOURCE_FILES})
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Development Process

The `master` branch is meant to be stable. Development is normally done in separate branches.
[Tags](https://github.com/absolute-community/absolute/tags) are created to indicate new official,
stable release versions of Dash Core.
stable release versions of Absolute Core.

The contribution workflow is described in [CONTRIBUTING.md](CONTRIBUTING.md).

Expand Down
53 changes: 28 additions & 25 deletions absolute-docs/protocol-documentation.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Protocol Documentation - 0.12.2
=====================================

This document describes the protocol extensions for all additional functionality build into the Dash protocol. This doesn't include any of the Bitcoin protocol, which has been left intact in the Dash project. For more information about the core protocol, please see https://en.bitcoin.it/w/index.php?title#Protocol_documentation&action#edit
This document describes the protocol extensions for all additional functionality build into the Absolute protocol. This doesn't include any of the Bitcoin protocol, which has been left intact in the Absolute project. For more information about the core protocol, please see https://en.bitcoin.it/w/index.php?title#Protocol_documentation&action#edit

## Common Structures

Expand Down Expand Up @@ -47,9 +47,9 @@ Bitcoin Output https://bitcoin.org/en/glossary/output
| ---------- | ----------- | --------- | ---------- |
| 4 | nVersion | int32_t | Transaction data format version
| 1+ | tx_in count | var_int | Number of Transaction inputs
| 41+ | vin | [CTxIn](#ctxin) | A list of 1 or more transaction inputs
| 41+ | vin | [CTxIn](#ctxin)[] | A list of 1 or more transaction inputs
| 1+ | tx_out count | var_int | Number of Transaction outputs
| 9+ | vout | [CTxOut](#ctxout) | A list of 1 or more transaction outputs
| 9+ | vout | [CTxOut](#ctxout)[] | A list of 1 or more transaction outputs
| 4 | nLockTime | uint32_t | The block number or timestamp at which this transaction is unlocked

### CPubKey
Expand Down Expand Up @@ -77,15 +77,14 @@ Whenever a masternode comes online or a client is syncing, they will send this m

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 41 | vin | [CTxIn](#ctxin) | The unspent output which is holding 1000 DASH
| 36 | outpoint | [COutPoint](#coutpoint) | The unspent output which is holding 1000 ABSOLUTE
| # | addr | [CService](#cservice) | IPv4 address of the masternode
| 33-65 | pubKeyCollateralAddress | [CPubKey](#cpubkey) | CPubKey of the main 1000 DASH unspent output
| 33-65 | pubKeyCollateralAddress | [CPubKey](#cpubkey) | CPubKey of the main 1000 ABSOLUTE unspent output
| 33-65 | pubKeyMasternode | [CPubKey](#cpubkey) | CPubKey of the secondary signing key (For all other messaging other than announce message)
| 71-73 | sig | char[] | Signature of this message (verifiable via pubKeyCollateralAddress)
| 8 | sigTime | int64_t | Time which the signature was created
| 4 | nProtocolVersion | int | The protocol version of the masternode
| # | lastPing | CMasternodePing | The last known ping of the masternode
| 8 | nLastDsq | int64_t | The last time the masternode sent a DSQ message (for mixing) (DEPRECATED)
| # | lastPing | [CMasternodePing](#mnping---mnp) | The last known ping of the masternode

### MNPING - "mnp"

Expand All @@ -95,10 +94,13 @@ Every few minutes, masternodes ping the network with a message that propagates t

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | --------- |
| 41 | vin | [CTxIn](#ctxin) | The unspent output of the masternode which is signing the message
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is signing the message
| 32 | blockHash | uint256 | Current chaintip blockhash minus 12
| 8 | sigTime | int64_t | Signature time for this ping
| 71-73 | vchSig | char[] | Signature of this message by masternode (verifiable via pubKeyMasternode)
| 1 | fSentinelIsCurrent | bool | true if last sentinel ping was current
| 4 | nSentinelVersion | uint32_t | The version of Sentinel running on the masternode which is signing the message
| 4 | nDaemonVersion | uint32_t | The version of absoluted of the masternode which is signing the message (i.e. CLIENT_VERSION)

### MASTERNODEPAYMENTVOTE - "mnw"

Expand All @@ -108,7 +110,7 @@ When a new block is found on the network, a masternode quorum will be determined

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 41 | vinMasternode | [CTxIn](#ctxin) | The unspent output of the masternode which is signing the message
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is signing the message
| 4 | nBlockHeight | int | The blockheight which the payee should be paid
| ? | payeeAddress | CScript | The address to pay to
| 71-73 | sig | char[] | Signature of the masternode which is signing the message
Expand All @@ -122,7 +124,7 @@ Masternodes can broadcast subsidised transactions without fees for the sake of s
| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| # | tx | [CTransaction](#ctransaction) | The transaction
| 41 | vin | [CTxIn](#ctxin) | Masternode unspent output
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is signing the message
| 71-73 | vchSig | char[] | Signature of this message by masternode (verifiable via pubKeyMasternode)
| 8 | sigTime | int64_t | Time this message was signed

Expand All @@ -147,7 +149,7 @@ Asks users to sign final mixing tx message.
| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 4 | nDenom | int | Which denomination is allowed in this mixing session
| 41 | vin | [CTxIn](#ctxin) | unspend output from masternode which is hosting this session
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is hosting this session
| 8 | nTime | int64_t | the time this DSQ was created
| 1 | fReady | bool | if the mixing pool is ready to be executed
| 66 | vchSig | char[] | Signature of this message by masternode (verifiable via pubKeyMasternode)
Expand All @@ -159,7 +161,7 @@ Response to DSQ message which allows the user to join a mixing pool
| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 4 | nDenom | int | denomination that will be exclusively used when submitting inputs into the pool
| 41+ | txCollateral | int | collateral tx that will be charged if this client acts maliciousely
| 216+ | txCollateral | [CTransaction](#ctransaction) | collateral tx that will be charged if this client acts maliciously

### DSVIN - "dsi"

Expand All @@ -170,9 +172,8 @@ When queue is ready user is expected to send his entry to start actual mixing
| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| ? | vecTxDSIn | CTxDSIn[] | vector of users inputs (CTxDSIn serialization is equal to [CTxIn](#ctxin) serialization)
| 8 | nAmount | int64_t | depreciated since 12.1, it's used for backwards compatibility only and can be removed with future protocol bump
| ? | txCollateral | [CTransaction](#ctransaction) | Collateral transaction which is used to prevent misbehavior and also to charge fees randomly
| ? | vecTxOut | CTxOut[] | vector of user outputs
| 216+ | txCollateral | [CTransaction](#ctransaction) | Collateral transaction which is used to prevent misbehavior and also to charge fees randomly
| ? | vecTxOut | [CTxOut](#ctxout)[] | vector of user outputs

### DSSIGNFINALTX - "dss"

Expand Down Expand Up @@ -216,7 +217,7 @@ A proposal, contract or setting.
| 32 | nCollateralHash | uint256 | Hash of the collateral fee transaction
| 0-16384 | strData | string | Data field - can be used for anything
| 4 | nObjectType | int | ????
| 41 | vinMasternode | [CTxIn](#ctxin) | Unspent output for the masternode which is signing this object
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is signing this object
| 66* | vchSig | char[] | Signature of the masternode (unclear if 66 is the correct size, but this is what it appears to be in most cases)

### MNGOVERNANCEOBJECTVOTE - "govobjvote"
Expand All @@ -227,7 +228,7 @@ Masternodes use governance voting in response to new proposals, contracts, setti

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 41+ | vinMasternode | [CTxIn](#ctxin) | Unspent output for the masternode which is voting
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output of the masternode which is voting
| 32 | nParentHash | uint256 | Object which we're voting on (proposal, contract, setting or final budget)
| 4 | nVoteOutcome | int | ???
| 4 | nVoteSignal | int | ???
Expand All @@ -248,18 +249,19 @@ Spork
| 66* | vchSig | char[] | Unclear if 66 is the correct size, but this is what it appears to be in most cases |

#### Defined Sporks (per src/sporks.h)
| Spork ID | Number | Name | Description |

| Spork ID | Number | Name | Description |
| ---------- | ---------- | ----------- | ----------- |
| 10001 | 2 | INSTANTSEND_ENABLED | Turns on and off InstantSend network wide
| 10002 | 3 | INSTANTSEND_BLOCK_FILTERING | Turns on and off InstantSend block filtering
| 10004 | 5 | INSTANTSEND_MAX_VALUE | Controls the max value for an InstantSend transaction (currently 2000 ABS)
| 10004 | 5 | INSTANTSEND_MAX_VALUE | Controls the max value for an InstantSend transaction (currently 2000 absolute)
| 10005 | 6 | NEW_SIGS | Turns on and off new signature format for Absolute-specific messages
| 10007 | 8 | MASTERNODE_PAYMENT_ENFORCEMENT | Requires masternodes to be paid by miners when blocks are processed
| 10008 | 9 | SUPERBLOCKS_ENABLED | Superblocks are enabled (the 10% comes to fund the absolute treasury)
| 10009 | 10 | MASTERNODE_PAY_UPDATED_NODES | Only current protocol version masternode's will be paid (not older nodes)
| 10011 | 12 | RECONSIDER_BLOCKS | |
| 10012 | 13 | OLD_SUPERBLOCK_FLAG | |
| 10013 | 14 | REQUIRE_SENTINEL_FLAG | Only masternode's running sentinel will be paid
| 10013 | 14 | REQUIRE_SENTINEL_FLAG | Only masternode's running sentinel will be paid

## Undocumented messages

Expand All @@ -275,8 +277,8 @@ Masternode Verify

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 41 | vin1 | [CTxIn](#ctxin) | The unspent output which is holding 1000 DASH for masternode 1
| 41 | vin2 | [CTxIn](#ctxin) | The unspent output which is holding 1000 DASH for masternode 2
| 36 | masternodeOutpoint1 | [COutPoint](#coutpoint) | The unspent output which is holding 2500 ABS for masternode 1
| 36 | masternodeOutpoint2 | [COutPoint](#coutpoint) | The unspent output which is holding 2500 ABS for masternode 2
| # | addr | [CService](#cservice) | IPv4 address / port of the masternode
| 4 | nonce | int | Nonce
| 4 | nBlockHeight | int | The blockheight
Expand Down Expand Up @@ -318,7 +320,7 @@ Get Masternode list or specific entry

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 41 | vin | [CTxIn](#ctxin) | The unspent output which is holding 1000 DASH
| 36 | masternodeOutpoint | [COutPoint](#coutpoint) | The unspent output which is holding 1000 ABSOLUTE

### SYNCSTATUSCOUNT - "ssc"

Expand All @@ -345,5 +347,6 @@ Masternode Payment Sync

| Field Size | Field Name | Data type | Description |
| ---------- | ----------- | --------- | ---------- |
| 4 | nMnCount | int | |
| 4 | nMnCount | int | | (DEPRECATED)

*NOTE: There are no fields in this mesasge starting from protocol 70209*
4 changes: 2 additions & 2 deletions contrib/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,13 @@ Notes on getting Gitian builds up and running using KVM.
PGP keys used for signing Bitcoin Core [Gitian release](/doc/release-process.md) results.

### [MacDeploy](/contrib/macdeploy) ###
Scripts and notes for Mac builds.
Scripts and notes for Mac builds.

### [Gitian-build](/contrib/gitian-build.sh) ###

Script for running full Gitian builds.

Test and Verify Tools
Test and Verify Tools
---------------------

### [TestGen](/contrib/testgen) ###
Expand Down
1 change: 1 addition & 0 deletions contrib/absolute-qt.pro
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ FORMS += \
../src/qt/forms/helpmessagedialog.ui \
../src/qt/forms/intro.ui \
../src/qt/forms/masternodelist.ui \
../src/qt/forms/qrdialog.ui \
../src/qt/forms/openuridialog.ui \
../src/qt/forms/optionsdialog.ui \
../src/qt/forms/overviewpage.ui \
Expand Down
Loading

0 comments on commit 99cb6d7

Please sign in to comment.