No description
Find a file
Gregory Sanders f346837657
Merge #703: [0.18] Dynafed backport
f11f066db Generalize the number of epochs old a peg-in can be and still be valid (Gregory Sanders)
d47a7e081 feature_fedpeg.py: Run in various dynafed transition settings (Gregory Sanders)
5b2c79e49 Fix compilation of raw transaction operations with peg-in inputs (Gregory Sanders)
0a44ff67a p2sh-wrap peg-in addresses if fedpeg_program is p2sh-wrapped (Gregory Sanders)
be4606970 Refactor IsPAKValid to not magically acquire chainparams (Gregory Sanders)
c6070be5a Remove script/standard dependence of ContextualCheckDynaFedHeader (Gregory Sanders)
d9431c092 Remove dyanfed.cpp's dependency on script/standard.h (Gregory Sanders)
a7dc478ba After a reorg, boot all peg-ins and peg-outs from mempool (Gregory Sanders)
9a3b9b9cf Enforce PAK checks on dynafed proposals (Gregory Sanders)
ffec60954 Replace fedpeg template init check for pak one (Gregory Sanders)
8dc1de4db Update python test framework for DynaFedParamEntry fedpeg program (Gregory Sanders)
d3d2bc3da Add functional test for illegal proposals (Gregory Sanders)
25bdb0a85 Update dynafed functional test to new behavior (Gregory Sanders)
04cadcd68 fixup proposal checks (Gregory Sanders)
0a21f531a getnewblockhex fills out proposal fedpeg program (Gregory Sanders)
1892b67f9 Make future parent segwit versions in fedpegscripts be vacuously true (Gregory Sanders)
1122fc28a Add dynafed proposal restrictions (Gregory Sanders)
69e881a59 Add description of NextBlockIsParameterTransition (Gregory Sanders)
a7bb36f6c Remove misleading comment for ContextualCheckDynaFedHeader use (Gregory Sanders)
b7aaf4be9 Add fedpeg_program field in dynafed header (Gregory Sanders)
cc2f57a96 CreatePAKListFromExtensionSpace just uses FromBytes for correctness (Gregory Sanders)
7e4f88b68 Remove short-circuit dynafed vote fail for readability (Gregory Sanders)
285daab40 s/m_dyna_params/m_dynafed_params/ (Gregory Sanders)
e963834d2 Light explanation of dynamic federations fields (Gregory Sanders)
8f12b617f s/ConsensusParamEntry/DynaFedParamEntry/ (Gregory Sanders)
6ddf46cde s/m_sbs_wit_limit/m_signblock_witness_limit/ (Gregory Sanders)
1d1cf23fd s/HF_MASK/DYNAFED_HF_MASK/ (Gregory Sanders)
5e2aca1b9 s/d_params/dynafed_params/ (Gregory Sanders)
4829b3a88 signrawtransaction* should use up to date fedpegscript for peg-in signing (Gregory Sanders)
8bd702784 Dynafed RPC support, tests, and deployment for custom chains (Gregory Sanders)
f08756b5d OP_TRUE outputs should be allowed to be segwit-ified by decodescript (Gregory Sanders)
2eded09b6 Have removeForBlock boot transactions when required (Gregory Sanders)
0cfe03bec Expose fedpeg fetching to consensus and mempool internals (Gregory Sanders)
b00515e22 GetTransactionSigOpCost shouldn't need fedpegscript to evaluate (Gregory Sanders)
b096f8dda Add and update startup args for dynafed (Gregory Sanders)
8436710b4 Add unused dynamic genesis block style in chainparams (Gregory Sanders)
f2e3495d6 Create epoch length chainparam (Gregory Sanders)
85467c06c Set default of multi_data_permitted to enforce_pak (Gregory Sanders)
e1474d1bc Correct comment about liquidv1 fedpeg matching template (Gregory Sanders)
4818e5e2b Miner should stop trying to account for old PAK system (Gregory Sanders)
f277ec52f Add miner ability to make dynafed blocks (Gregory Sanders)
f5e46328e ContextualCheckBlockHeader: dynafed doesn't call CheckChallenge (Gregory Sanders)
fb333b3ed Introduce contextual block checks for dynafed (Gregory Sanders)
8f2194c90 Enable pak enforcement at mempool/block level when appropriate (Gregory Sanders)
fac525bac ScriptHasValidPAKProof takes fedpeg as arg (Gregory Sanders)
144d48622 Remove old mempool-booting logic (Gregory Sanders)
1c7782451 Remove standardness checks for PAK (Gregory Sanders)
a306c0c6e Update PAK internals, helper functions (Gregory Sanders)
60d4093eb Disable PAK loading from configuration on init, disable pak test (Gregory Sanders)
5e273e806 Add inactive versionbits dynafed deployment (Gregory Sanders)
1f470d320 ReadBlockFromDisk: do genesis block check before block proof check (Gregory Sanders)
cd5d87cbc Bump last old block version for versonbits due to elements (Gregory Sanders)
86ed316bc Add python implementation of dynafed block serialization (Gregory Sanders)
7ec6c5350 Deserialize merkle proofs without witness, which matters for dynafed (Gregory Sanders)
af485a818 Add fedpegscript-fetching helper (Gregory Sanders)
d1207bdd9 calculate_contract: remove most template checks and assert in preperation for dynafed (Gregory Sanders)
21cf12843 Add note on peg-in sigops (Gregory Sanders)
c37a8fe88 Add dynafed helper functions (Gregory Sanders)
fa1f497a2 Refactor block_proof to support dynafed (Gregory Sanders)
0402da670 Add dynamic federation blockheader fields to chaindb serialization (Gregory Sanders)
ab6e3e37f Add dynamic federations blockheader serialization with HF bit (Gregory Sanders)
f49c0a684 Define dynamic federations primitives (Gregory Sanders)

Pull request description:

Tree-SHA512: dcc7f9f225dcc5921cc325e267e30367283afe4b8d88c9a008dccf72393b35245b50cc48eddce035b2dbbe2a0b669b5027998fc88f30bfc18cf78af7f0a484a4
2019-09-06 15:36:09 -04:00
.github Get more info about GUI-related issue on Linux 2018-12-27 06:53:07 +02:00
.travis travis: Switch to ubuntu keyserver to avoid timeouts 2019-05-31 14:54:10 +01:00
.tx qt: Pre-0.18 split-off translations update 2019-02-04 15:24:37 +01:00
build-aux/m4 Bump minimum Qt version to 5.5.1 2019-02-14 11:12:30 +01:00
build_msvc Merge remote-tracking branch 'bitcoin/0.18' into elements-0.18 2019-08-21 19:30:53 +01:00
contrib Merge remote-tracking branch 'bitcoin-gh/0.18' into 0.18.0-backports 2019-06-26 11:58:58 -04:00
depends Update zmq to 4.3.1 2019-01-18 10:25:14 +02:00
doc Add manpages for elements binaries 2019-08-21 19:30:59 +01:00
share Merge remote-tracking branch 'bitcoin-gh/0.18' into 0.18.0-backports 2019-06-26 11:58:58 -04:00
src Generalize the number of epochs old a peg-in can be and still be valid 2019-09-06 10:24:00 -04:00
test feature_fedpeg.py: Run in various dynafed transition settings 2019-09-06 10:24:00 -04:00
.appveyor.yml appveyor: Don't build debug libraries instead of "build and delete" 2019-03-01 07:24:19 +08:00
.gitattributes Separate protocol versioning from clientversion 2014-10-29 00:24:40 -04:00
.gitignore Merge remote-tracking branch 'bitcoin-gh/0.18' into 0.18.0-backports 2019-06-26 11:58:58 -04:00
.python-version .python-version: Bump to 3.5.6 2019-06-26 09:31:08 -04:00
.travis.yml Merge remote-tracking branch 'bitcoin/0.18' into elements-0.18 2019-08-21 19:30:53 +01:00
autogen.sh Add "export LC_ALL=C" to all shell scripts 2018-06-14 15:27:52 +02:00
configure.ac Merge remote-tracking branch 'bitcoin/0.18' into elements-0.18 2019-08-21 19:30:53 +01:00
CONTRIBUTING.md UPSTREAM MERGE BROKEN: Merge upstream commit '519b0bc5dc' into master 2019-05-17 16:17:09 +01:00
COPYING [Trivial] Update license year range to 2019 2018-12-31 04:27:59 +01:00
INSTALL.md Update INSTALL landing redirection notice for build instructions. 2016-10-06 12:27:23 +13:00
libbitcoinconsensus.pc.in Unify package name to as few places as possible without major changes 2015-12-14 02:11:10 +00:00
Makefile.am UPSTREAM MERGE BROKEN: Merge upstream commit '519b0bc5dc' into master 2019-05-17 16:17:09 +01:00
README.md Add short description of sync modes for elements in README.md 2019-04-05 13:50:30 -04:00
SECURITY.md Add secure reporting document, link in README 2019-03-20 12:05:21 +00:00

Elements Project blockchain platform

Build Status

https://elementsproject.org

This is the integration and staging tree for the Elements blockchain platform, a collection of feature experiments and extensions to the Bitcoin protocol. This platform enables anyone to build their own businesses or networks pegged to Bitcoin as a sidechain or run as a standalone blockchain with arbitrary asset tokens.

Modes

Elements supports a few different pre-set chains for syncing. Note though some are intended for QA and debugging only:

  • Liquid mode: elementsd -chain=liquidv1 (syncs with Liquid network)
  • Bitcoin mainnet mode: elementsd -chain=main (not intended to be run for commerce)
  • Bitcoin testnet mode: elementsd -chain=testnet3
  • Bitcoin regtest mode: elementsd -chain=regtest
  • Elements custom chains: Any other -chain= argument. It has regtest-like default parameters that can be over-ridden by the user by a rich set of start-up options.

Confidential Assets

The latest feature in the Elements blockchain platform is Confidential Assets, the ability to issue multiple assets on a blockchain where asset identifiers and amounts are blinded yet auditable through the use of applied cryptography.

Features of the Elements blockchain platform

Compared to Bitcoin itself, it adds the following features:

Previous elements that have been integrated into Bitcoin:

  • Segregated Witness
  • Relative Lock Time

Elements deferred for additional research and standardization:

License

Elements is released under the terms of the MIT license. See COPYING for more information or see http://opensource.org/licenses/MIT.

What is the Elements Project?

Elements is an open source, sidechain-capable blockchain platform. It also allows experiments to more rapidly bring technical innovation to the Bitcoin ecosystem.

Learn more on the Elements Project website

https://github.com/ElementsProject/elementsproject.github.io

Secure Reporting

See our vulnerability reporting guide