Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
9885633
Per-asset permissions, no coin selection
mike31 Nov 9, 2017
11335e5
Coin selection for per-asset permissions
mike31 Nov 9, 2017
cdf178d
Renaming permissions to restrict
mike31 Nov 12, 2017
54bb71f
Fixed asset permission verification in coin selection
mike31 Nov 14, 2017
b0ea35f
Per-output data
mike31 Nov 14, 2017
ad42aff
Fixed compilation errors in per-output data
mike31 Nov 15, 2017
042171d
Allowed per-output formatted data for old protocols
mike31 Nov 16, 2017
e26fdf6
Hiding empty arrays in gettxout
mike31 Nov 16, 2017
af4d6eb
Fixed undefined behavior bug
mike31 Nov 19, 2017
e43c343
Fixed lost asset subscription on rescan
mike31 Nov 19, 2017
c23d287
Asset grouping with per-asset permissions
mike31 Nov 20, 2017
42e91f4
Protocol: no issue/transfer mixture, per-asset permissions for followons
mike31 Nov 21, 2017
ffcfd29
Checking asset restrictions in asset groupin regardless of protocol
mike31 Nov 21, 2017
2949ae1
Checking output permissions in coin selection
mike31 Nov 21, 2017
e7bc4e4
gettxoutdata for inline metadata
mike31 Nov 21, 2017
5db763b
Forbidden downgrades
mike31 Nov 22, 2017
98abdc7
Fixed checking full branch when accepting new headers in inital download
mike31 Nov 22, 2017
c2535c5
Fixed decoderawesxchange crash on p2sh output
mike31 Nov 23, 2017
b5a7470
Fixed per-asset receive check for multisigs
mike31 Nov 23, 2017
a0fb5aa
Fixed checkin receive permission in coin selection
mike31 Nov 23, 2017
655f3f9
Forbidden sending restricted assets to non-standard and multisigs
mike31 Nov 23, 2017
0d61a99
Custom plugins
mike31 Nov 28, 2017
c2039a0
Custom plugins new files
mike31 Nov 28, 2017
50402a8
Setting relevant protocol version for custom builds
mike31 Nov 28, 2017
e9e99ab
ubjson compilation fix for Mac
mike31 Nov 29, 2017
fd52db1
Fixed max value for reward-halving-interval
mike31 Nov 29, 2017
7c631c9
Fixed custom blockchain parameter setting procedure
mike31 Nov 29, 2017
1188701
Cached burn address
mike31 Nov 30, 2017
9546645
Custom build refactoring and burn address initialization
mike31 Nov 30, 2017
ce1f2da
Custom builds, fixing relevant version and coin selection
mike31 Nov 30, 2017
f37b15f
Fixed setting of relevant version for genesis block
mike31 Nov 30, 2017
799d594
Fixed crash when passing empty address in raw transactions
mike31 Dec 4, 2017
fa88731
Custom filter for combining outputs
mike31 Dec 5, 2017
54ecc67
Fixed method field for curl help messages
mike31 Dec 6, 2017
50e3059
Fixed -cold param help message for multichain-cli
mike31 Dec 6, 2017
5e567b2
Fixed error messages when multiple keys and formatted data are not su…
mike31 Dec 6, 2017
fbcfd15
Fixed chain description length issue
mike31 Dec 6, 2017
4ed82d4
Fixed height mismatch in coinbase
mike31 Dec 7, 2017
6016b7a
Fixed getstreamkeysummary without ignore for single non-json item
mike31 Dec 7, 2017
41cbef3
Startup message tweaks
mike31 Dec 10, 2017
42d6ea4
Miner starting nonce randomization
mike31 Dec 10, 2017
4410175
Parameter upgrades, not applied
mike31 Dec 18, 2017
014d354
Applied parameters in listupgrades
mike31 Dec 19, 2017
862926e
Applied parameters in protocol with stubs
mike31 Dec 19, 2017
01050cc
listupgrades - upgrade-identifier(s)
mike31 Dec 19, 2017
e09d67e
maximum-block-size upgrade
mike31 Dec 21, 2017
50ad03c
Fixed default min value for maximum-block-size
mike31 Dec 24, 2017
53cb1e0
Parameter upgrades
mike31 Dec 24, 2017
81546a3
Fixed listupgrades bugs
mike31 Dec 25, 2017
fc03c78
Upgraded target-block-time in getblockchainparams
mike31 Dec 25, 2017
d555fa2
Fixed compilation warnings
mike31 Dec 26, 2017
fcd4f49
Checking upgradable constraints when connection block
mike31 Dec 27, 2017
807dda7
Logging parameter upgrades
mike31 Dec 27, 2017
6b45900
walletnotifynew
mike31 Dec 27, 2017
37a8c5a
Fixed protocol version upgrade and setlastblock
mike31 Jan 8, 2018
ba3b71f
Help messages for per-asset permissions
mike31 Jan 9, 2018
ac5c8f7
Compilation warnings
mike31 Jan 9, 2018
179d220
-rpcallowmethod
mike31 Jan 9, 2018
10e7013
Avoiding buffer allocation in RPC calls
mike31 Jan 11, 2018
b16d8e0
Avoiding buffer allocations in RPC calls - fixed
mike31 Jan 14, 2018
c2bc57b
Hidden chain parameters and timing-upgrade-min-gap
mike31 Jan 14, 2018
e91c2a5
Added missing `./autogen.sh` to the "Compile MultiChain for Mac" section
Aug 10, 2017
a2a0d75
Upgradable max-std-* parameters
mike31 Jan 15, 2018
572745b
Upgrade parameter error message tweaks
mike31 Jan 17, 2018
1d7faf7
listunspent/getmultibalances optimization if addresses are specified
mike31 Jan 17, 2018
2e6705a
Fixed. Setting Invalid flag for coinbases on rollback
mike31 Jan 21, 2018
c31bcdd
pausing reaccepting
mike31 Jan 23, 2018
0ca9aa3
Revert "Miner starting nonce randomization"
mike31 Jan 24, 2018
1a78af1
Fixed representation of upgraded std- params in getblockchainparams
mike31 Jan 24, 2018
aa7e696
Inline data help message
mike31 Jan 25, 2018
c10bc36
Fixed liststreamkeys for single key
mike31 Jan 26, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,7 @@ Compile MultiChain for Mac (64-bit)

export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
./autogen.sh
./configure --with-gui=no --with-libs=no --with-miniupnpc=no
make

Expand Down
5 changes: 5 additions & 0 deletions src/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -179,6 +179,7 @@ libbitcoin_server_a_SOURCES = \
core/main.cpp \
protocol/multichaintx.cpp \
protocol/multichainblock.cpp \
custom/custom_server.cpp \
protocol/handshake.cpp \
chain/merkleblock.cpp \
miner/miner.cpp \
Expand Down Expand Up @@ -252,6 +253,8 @@ multichain_libbitcoin_multichain_a_SOURCES = \
utils/tools.cpp \
utils/utilwrapper.cpp \
version/version.cpp \
custom/custom.cpp \
custom/custom_multichain.cpp \
chainparams/params.cpp \
protocol/multichainscript.cpp \
utils/dbwrapper.cpp \
Expand Down Expand Up @@ -513,6 +516,8 @@ libbitcoinconsensus_la_SOURCES = \
utils/utilwrapper.cpp \
chainparams/buildgenesis.cpp \
version/version.cpp \
custom/custom.cpp \
custom/custom_multichain.cpp \
chainparams/chainparams.cpp \
protocol/multichainscript.cpp \
utils/dbwrapper.cpp \
Expand Down
14 changes: 14 additions & 0 deletions src/chainparams/chainparams.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -554,6 +554,14 @@ class CMultiChainParams : public CMainParams {
}
}

void SetMultiChainParam(const char*param_name,int64_t value)
{
if(strcmp(param_name,"targetblocktime") == 0)
{
nTargetSpacing=value;
}
}

void SetMultiChainRuntimeParams()
{
fMineBlocksOnDemand = GetBoolArg("-mineblocksondemand", false);
Expand Down Expand Up @@ -781,6 +789,12 @@ void SetMultiChainParams()
multiChainParams.SetMultiChainParams();
}

void SetMultiChainParam(const char*param_name,int64_t value)
{
multiChainParams.SetMultiChainParam(param_name,value);
}


void SetMultiChainRuntimeParams()
{
multiChainParams.SetMultiChainRuntimeParams();
Expand Down
1 change: 1 addition & 0 deletions src/chainparams/chainparams.h
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ bool SelectParamsFromCommandLine();
bool SelectMultiChainParams(const char *NetworkName);
bool InitializeMultiChainParams();
void SetMultiChainParams();
void SetMultiChainParam(const char*param_name,int64_t value);
void SetMultiChainRuntimeParams();


Expand Down
3 changes: 3 additions & 0 deletions src/chainparams/globals.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,15 @@ unsigned int MAX_BLOCK_SIZE = 1000000;
unsigned int DEFAULT_BLOCK_MAX_SIZE = 750000; // main.h
unsigned int MAX_BLOCKFILE_SIZE = 0x8000000; // main.h
unsigned int MAX_STANDARD_TX_SIZE = 100000; // main.h
unsigned int MAX_BLOCK_SIGOPS = 20000; // main.h
unsigned int MAX_TX_SIGOPS = 4000; // main.h
int COINBASE_MATURITY = 100; // main.h
unsigned int MAX_SIZE = 0x02000000; // serialize,h
int64_t COIN = 100000000; // amount.h
int64_t CENT = 1000000; // amount.h
int64_t MAX_MONEY = 21000000 * COIN; // amount.h
unsigned int MAX_SCRIPT_ELEMENT_SIZE=520; // script.h
int MIN_BLOCKS_BETWEEN_UPGRADES = 100;
int MAX_OP_RETURN_SHOWN=16384;
int MAX_FORMATTED_DATA_DEPTH=100;
unsigned int MAX_OP_RETURN_OP_DROP_COUNT=100000000;
Expand Down
14 changes: 9 additions & 5 deletions src/chainparams/paramlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ static const mc_OneMultichainParam MultichainParamArray[] =
{ "chaindescription" , "chain-description" ,
MC_PRM_STRING | MC_PRM_USER | MC_PRM_CLONE | MC_PRM_SPECIAL ,256, 0, 0, 0, 0.0, 10001, 0, "-mc-chaindescription",
"rootstreamname","",
"Chain description, embedded in genesis block coinbase, max 256 chars."},
"Chain description, embedded in genesis block coinbase, max 90 chars."},
{ "rootstreamname" , "root-stream-name" ,
MC_PRM_STRING | MC_PRM_USER | MC_PRM_CLONE | MC_PRM_SPECIAL,256, 0, 0, 0, 0.0, 10006, 0, "-mc-rootstreamname",
"rootstreamopen","",
Expand All @@ -27,13 +27,17 @@ static const mc_OneMultichainParam MultichainParamArray[] =
"targetblocktime","",
"Content of the 'testnet' field of API responses, for compatibility."},
{ "targetblocktime" , "target-block-time" ,
MC_PRM_UINT32 | MC_PRM_USER | MC_PRM_CLONE , -1, 15, 2, 86400, 0.0, 10001, 0, "-mc-targetblocktime",
MC_PRM_UINT32 | MC_PRM_USER | MC_PRM_CLONE | MC_PRM_TIME , -1, 15, 2, 86400, 0.0, 10001, 0, "-mc-targetblocktime",
"maximumblocksize","",
"Target time between blocks (transaction confirmation delay), seconds."},
{ "maximumblocksize" , "maximum-block-size" ,
MC_PRM_UINT32 | MC_PRM_USER | MC_PRM_CLONE , -1, 8388608, 1000,1000000000, 0.0, 10001, 0, "-mc-maximumblocksize",
"defaultnetworkport","",
MC_PRM_UINT32 | MC_PRM_USER | MC_PRM_CLONE , -1, 8388608, 5000,1000000000, 0.0, 10001, 0, "-mc-maximumblocksize",
"timingupgrademingap","",
"Maximum block size in bytes."},
{ "timingupgrademingap" , "timing-upgrade-min-gap" ,
MC_PRM_UINT32 | MC_PRM_USER | MC_PRM_CLONE | MC_PRM_HIDDEN , -1, 100, 1, 31536000, 0.0, 20002, 0, "-mc-timingupgrademingap",
"defaultnetworkport","",
"Minimal gap between time-related parameter upgrades. In blocks."},
{ "defaultnetworkport" , "default-network-port" ,
MC_PRM_UINT32 | MC_PRM_GENERATED | MC_PRM_CLONE , -1, MC_DEFAULT_NETWORK_PORT, 1024, 65535, 0.0, 10001, 0, "-mc-defaultnetworkport",
"defaultrpcport","",
Expand Down Expand Up @@ -159,7 +163,7 @@ static const mc_OneMultichainParam MultichainParamArray[] =
"firstblockreward","Native blockchain currency (likely not required)",
"Initial block mining reward in raw native currency units."},
{ "rewardhalvinginterval" , "reward-halving-interval" ,
MC_PRM_UINT32 | MC_PRM_USER | MC_PRM_CLONE , -1, 52560000, 60,4294967295U, 0.0, 10001, 0, "-mc-rewardhalvinginterval",
MC_PRM_UINT32 | MC_PRM_USER | MC_PRM_CLONE , -1, 52560000, 60,1000000000, 0.0, 10001, 0, "-mc-rewardhalvinginterval",
"rewardspendabledelay","",
"Interval for halving of mining rewards, in blocks."},
{ "rewardspendabledelay" , "reward-spendable-delay" ,
Expand Down
Loading