mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
commit
c30a0aa592
@ -3,7 +3,7 @@ AC_PREREQ([2.60])
|
||||
define(_CLIENT_VERSION_MAJOR, 0)
|
||||
define(_CLIENT_VERSION_MINOR, 12)
|
||||
define(_CLIENT_VERSION_REVISION, 0)
|
||||
define(_CLIENT_VERSION_BUILD, 53)
|
||||
define(_CLIENT_VERSION_BUILD, 55)
|
||||
define(_CLIENT_VERSION_IS_RELEASE, true)
|
||||
define(_COPYRIGHT_YEAR, 2015)
|
||||
AC_INIT([Dash Core],[_CLIENT_VERSION_MAJOR._CLIENT_VERSION_MINOR._CLIENT_VERSION_REVISION],[info@dashpay.io],[dash])
|
||||
|
@ -649,6 +649,7 @@ TRANSLATIONS += src/qt/locale/dash_bg.ts \
|
||||
src/qt/locale/dash_fi.ts \
|
||||
src/qt/locale/dash_fr.ts \
|
||||
src/qt/locale/dash_it.ts \
|
||||
src/qt/locale/dash_ja.ts \
|
||||
src/qt/locale/dash_pl.ts \
|
||||
src/qt/locale/dash_pt.ts \
|
||||
src/qt/locale/dash_ru.ts \
|
||||
|
@ -10,6 +10,7 @@ QT_TS = \
|
||||
qt/locale/dash_fi.ts \
|
||||
qt/locale/dash_fr.ts \
|
||||
qt/locale/dash_it.ts \
|
||||
qt/locale/dash_ja.ts \
|
||||
qt/locale/dash_pl.ts \
|
||||
qt/locale/dash_pt.ts \
|
||||
qt/locale/dash_ru.ts \
|
||||
|
@ -17,7 +17,7 @@
|
||||
#define CLIENT_VERSION_MAJOR 0
|
||||
#define CLIENT_VERSION_MINOR 12
|
||||
#define CLIENT_VERSION_REVISION 0
|
||||
#define CLIENT_VERSION_BUILD 53
|
||||
#define CLIENT_VERSION_BUILD 55
|
||||
|
||||
//! Set to true for release, false for prerelease or test build
|
||||
#define CLIENT_VERSION_IS_RELEASE true
|
||||
|
@ -1571,6 +1571,9 @@ bool CDarksendPool::DoAutomaticDenominating(bool fDryRun)
|
||||
}
|
||||
}
|
||||
|
||||
// do not initiate queue if we are a liquidity proveder to avoid useless inter-mixing
|
||||
if(nLiquidityProvider) return false;
|
||||
|
||||
int i = 0;
|
||||
|
||||
// otherwise, try one randomly
|
||||
@ -1625,12 +1628,21 @@ bool CDarksendPool::DoAutomaticDenominating(bool fDryRun)
|
||||
|
||||
bool CDarksendPool::PrepareDarksendDenominate()
|
||||
{
|
||||
// Submit transaction to the pool if we get here, use sessionDenom so we use the same amount of money
|
||||
std::string strError = pwalletMain->PrepareDarksendDenominate(0, nDarksendRounds);
|
||||
LogPrintf("DoAutomaticDenominating : Running Darksend denominate. Return '%s'\n", strError);
|
||||
std::string strError = "";
|
||||
// Submit transaction to the pool if we get here
|
||||
// Try to use only inputs with the same number of rounds starting from lowest number of rounds possible
|
||||
for(int i = 0; i < nDarksendRounds; i++) {
|
||||
strError = pwalletMain->PrepareDarksendDenominate(i, i+1);
|
||||
LogPrintf("DoAutomaticDenominating : Running Darksend denominate for %d rounds. Return '%s'\n", i, strError);
|
||||
if(strError == "") return true;
|
||||
}
|
||||
|
||||
// We failed? That's strange but let's just make final attempt and try to mix everything
|
||||
strError = pwalletMain->PrepareDarksendDenominate(0, nDarksendRounds);
|
||||
LogPrintf("DoAutomaticDenominating : Running Darksend denominate for all rounds. Return '%s'\n", strError);
|
||||
if(strError == "") return true;
|
||||
|
||||
// Should never actually get here but just in case
|
||||
strAutoDenomResult = strError;
|
||||
LogPrintf("DoAutomaticDenominating : Error running denominate, %s\n", strError);
|
||||
return false;
|
||||
|
18
src/init.cpp
18
src/init.cpp
@ -425,7 +425,7 @@ std::string HelpMessage(HelpMessageMode mode)
|
||||
|
||||
strUsage += "\n" + _("InstantX options:") + "\n";
|
||||
strUsage += " -enableinstantx=<n> " + strprintf(_("Enable instantx, show confirmations for locked transactions (bool, default: %s)"), "true") + "\n";
|
||||
strUsage += " -instantxdepth=<n> " + strprintf(_("Show N confirmations for a successfully locked transaction (0-9999, default: %u)"), 1) + "\n";
|
||||
strUsage += " -instantxdepth=<n> " + strprintf(_("Show N confirmations for a successfully locked transaction (0-9999, default: %u)"), nInstantXDepth) + "\n";
|
||||
|
||||
strUsage += "\n" + _("Node relay options:") + "\n";
|
||||
strUsage += " -datacarrier " + strprintf(_("Relay and mine data carrier transactions (default: %u)"), 1) + "\n";
|
||||
@ -698,6 +698,11 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
LogPrintf("AppInit2 : parameter interaction: -zapwallettxes=<mode> -> setting -rescan=1\n");
|
||||
}
|
||||
|
||||
if(!GetBoolArg("-enableinstantx", fEnableInstantX)){
|
||||
if (SoftSetArg("-instantxdepth", 0))
|
||||
LogPrintf("AppInit2 : parameter interaction: -enableinstantx=false -> setting -nInstantXDepth=0\n");
|
||||
}
|
||||
|
||||
// Make sure enough file descriptors are available
|
||||
int nBind = std::max((int)mapArgs.count("-bind") + (int)mapArgs.count("-whitebind"), 1);
|
||||
nMaxConnections = GetArg("-maxconnections", 125);
|
||||
@ -1532,14 +1537,9 @@ bool AppInit2(boost::thread_group& threadGroup)
|
||||
if(nAnonymizeDarkcoinAmount > 999999) nAnonymizeDarkcoinAmount = 999999;
|
||||
if(nAnonymizeDarkcoinAmount < 2) nAnonymizeDarkcoinAmount = 2;
|
||||
|
||||
bool fEnableInstantX = GetBoolArg("-enableinstantx", true);
|
||||
if(fEnableInstantX){
|
||||
nInstantXDepth = GetArg("-instantxdepth", 5);
|
||||
if(nInstantXDepth > 60) nInstantXDepth = 60;
|
||||
if(nInstantXDepth < 0) nAnonymizeDarkcoinAmount = 0;
|
||||
} else {
|
||||
nInstantXDepth = 0;
|
||||
}
|
||||
fEnableInstantX = GetBoolArg("-enableinstantx", fEnableInstantX);
|
||||
nInstantXDepth = GetArg("-instantxdepth", nInstantXDepth);
|
||||
nInstantXDepth = std::min(std::max(nInstantXDepth, 0), 60);
|
||||
|
||||
//lite mode disables all Masternode and Darksend related functionality
|
||||
fLiteMode = GetBoolArg("-litemode", false);
|
||||
|
@ -1487,10 +1487,9 @@ int CBudgetProposal::GetTotalPaymentCount()
|
||||
int CBudgetProposal::GetRemainingPaymentCount()
|
||||
{
|
||||
// If this budget starts in the future, this value will be wrong
|
||||
int nPayments = (GetBlockEndCycle() - GetBlockCurrentCycle()) / GetBudgetPaymentCycleBlocks();
|
||||
int nTotal = (GetBlockEndCycle() - GetBlockStartCycle()) / GetBudgetPaymentCycleBlocks();
|
||||
int nPayments = (GetBlockEndCycle() - GetBlockCurrentCycle()) / GetBudgetPaymentCycleBlocks() - 1;
|
||||
// Take the lowest value
|
||||
return (nPayments <= nTotal ? nPayments : nTotal);
|
||||
return std::min(nPayments, GetTotalPaymentCount());
|
||||
}
|
||||
|
||||
CBudgetProposalBroadcast::CBudgetProposalBroadcast(std::string strProposalNameIn, std::string strURLIn, int nPaymentCount, CScript addressIn, CAmount nAmountIn, int nBlockStartIn, uint256 nFeeTXHashIn)
|
||||
|
@ -7,10 +7,11 @@
|
||||
<file alias="fi">locale/dash_fi.qm</file>
|
||||
<file alias="fr">locale/dash_fr.qm</file>
|
||||
<file alias="it">locale/dash_it.qm</file>
|
||||
<file alias="it">locale/dash_ja.qm</file>
|
||||
<file alias="pl">locale/dash_pl.qm</file>
|
||||
<file alias="pt">locale/dash_pt.qm</file>
|
||||
<file alias="ru">locale/dash_ru.qm</file>
|
||||
<file alias="sv">locale/dash_sk.qm</file>
|
||||
<file alias="sk">locale/dash_sk.qm</file>
|
||||
<file alias="sv">locale/dash_sv.qm</file>
|
||||
<file alias="vi">locale/dash_vi.qm</file>
|
||||
<file alias="zh_CN">locale/dash_zh_CN.qm</file>
|
||||
|
@ -4391,6 +4391,10 @@ Pour exemple: alertnotify=echo %%s | mail -s "Alerte Dash" admin@foo.com
|
||||
<source>Specify your own public address</source>
|
||||
<translation>Spécifier votre propre adresse publique</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronization pending...</source>
|
||||
<translation>Synchronisation en suspens...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This help message</source>
|
||||
<translation>Ce message d'aide</translation>
|
||||
|
3135
src/qt/locale/dash_ja.ts
Normal file
3135
src/qt/locale/dash_ja.ts
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -740,6 +740,10 @@ Kiểu: %3
|
||||
<source>Copy change</source>
|
||||
<translation>Sao chép tiền trả lại</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Non-anonymized input selected. <b>Darksend will be disabled.</b><br><br>If you still want to use Darksend, please deselect all non-nonymized inputs first and then check Darksend checkbox again.</source>
|
||||
<translation>Đầu vào không ẩn danh được chọn. <b>Darksend sẽ bị tắt.</b><br><br>Nếu bạn vẫn muốn sử dụng Darksend, hãy bỏ chọn tata cả các đầu vào không ẩn danh trước và đánh dấu vào hộp Darksend lần nữa.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>highest</source>
|
||||
<translation>cao nhất</translation>
|
||||
@ -1157,6 +1161,10 @@ Kiểu: %3
|
||||
<source>W&allet</source>
|
||||
<translation>&Ví</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If you disable the spending of unconfirmed change, the change from a transaction<br/>cannot be used until that transaction has at least one confirmation.<br/>This also affects how your balance is computed.</source>
|
||||
<translation>Nếu bạn vô hiệu hóa các chi tiêu của phần tiền lẻ chưa được xác nhận, phần tiền lẻ từ một giao dịch <br/>không thể được sử dụng đến khi giao dịch đó nhận được ít nhất một xác nhận. <br/>Điều này ảnh hưởng đến cách tính số dư của bạn.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Accept connections from outside</source>
|
||||
<translation>Chấp nhận kết nối từ bên ngoài</translation>
|
||||
@ -1494,6 +1502,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>%n Rounds</source>
|
||||
<translation><numerusform>%n Vòng</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not enough compatible inputs to anonymize <span style='color:red;'>%1</span>,<br>will anonymize <span style='color:red;'>%2</span> instead</source>
|
||||
<translation>Không đủ đầu vào tương ứng để ẩn danh <span style='color:red;'>%1</span>,<br>sẽ ẩn danh <span style='color:red;'>%2</span> thay vào đó</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Overall progress</source>
|
||||
<translation>Tiến trình chung</translation>
|
||||
@ -1915,6 +1927,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Upgrade wallet format</source>
|
||||
<translation>Nâng cấp định dạng ví</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The buttons below will restart the wallet with command-line options to repair the wallet, fix issues with corrupt blockhain files or missing/obsolete transactions.</source>
|
||||
<translation>Nút dưới đây sẽ khởi động lại ví với tuỳ chọn dòng lệnh để sửa lại ví, sửa lại những vấn đề với các tệp blockchain bị lỗi hoặc các giao dịch bị thiếu/cũ.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>-salvagewallet: Attempt to recover private keys from a corrupt wallet.dat.</source>
|
||||
<translation>-salvagewallet: Thử phục hồi khoá riêng từ tệp wallet.dat bị lỗi.</translation>
|
||||
@ -2267,6 +2283,18 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Minimize</source>
|
||||
<translation>Tối thiểu hoá</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 duffs in fee,<br />while "at least" pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</source>
|
||||
<translation>Nếu mức phí tuỳ chỉnh được đặt là 1000 duff và giao dịch chỉ có 250 byte, thì "theo kilobyte" chỉ trả 250 duff cho phí,<br />trong khi "ít nhất" phải trả 1000 duff. Cho các giao dịch lớn hơn 1 kilobyte thì cả hai đều trả theo kilobyte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If the custom fee is set to 1000 duffs and the transaction is only 250 bytes, then "per kilobyte" only pays 250 duffs in fee,<br />while "total at least" pays 1000 duffs. For transactions bigger than a kilobyte both pay by kilobyte.</source>
|
||||
<translation>Nếu phí giao dịch tuỳ chỉnh được đặt là 1000 duff và giao dịch chỉ có 250 bytes, thì "theo kilobyte" chỉ trả 250 duff phí,<br />trong khi "tổng ít nhất" trả 1000 duff. Với các giao dịch lớn hơn 1 kilobyte thì cả hai đều trả theo kilobyte.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Paying only the minimum fee is just fine as long as there is less transaction volume than space in the blocks.<br />But be aware that this can end up in a never confirming transaction once there is more demand for dash transactions than the network can process.</source>
|
||||
<translation>Chỉ trả phí tối thiểu cũng được chỉ khi mà có lượng giao dịch ít hơn không gian trong khối.<br />Nhưng cần lưu ý là nó có thể xảy ra hiện tượng giao dịch không bao giờ được xác nhận một khi có nhiều nhu cầu giao dash hơn khả năng mà mạng lưới có thể xử lý được.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>per kilobyte</source>
|
||||
<translation>mỗi kilobyte</translation>
|
||||
@ -2287,6 +2315,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Custom:</source>
|
||||
<translation>Tuỳ chỉnh:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(Smart fee not initialized yet. This usually takes a few blocks...)</source>
|
||||
<translation>(Phí khởi tạo thông minh chưa được khởi tạo. Thường thì sẽ mất vài block...)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Confirmation time:</source>
|
||||
<translation>Thời gian xác thực:</translation>
|
||||
@ -3043,6 +3075,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Type of transaction.</source>
|
||||
<translation>Kiểu giao dịch.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Whether or not a watch-only address is involved in this transaction.</source>
|
||||
<translation>Cho dù có hay không thì một địa chỉ chỉ theo dõi cũng liên quan đến giao dịch này.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Destination address of transaction.</source>
|
||||
<translation>Địa chỉ đích của giao dịch.</translation>
|
||||
@ -3541,10 +3577,30 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>If <category> is not supplied, output all debugging information.</source>
|
||||
<translation>Nếu <category> không được cung cấp, đưa ra tất cả các thông tin gỡ rối.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(1 = keep tx meta data e.g. account owner and payment request information, 2 = drop tx meta data)</source>
|
||||
<translation>(1 = giữ lại dữ liệu tx, ví dụ chủ tài khoản và thông tin yêu cầu thanh toán, 2 = bỏ dữ liệu tx)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow JSON-RPC connections from specified source. Valid for <ip> are a single IP (e.g. 1.2.3.4), a network/netmask (e.g. 1.2.3.4/255.255.255.0) or a network/CIDR (e.g. 1.2.3.4/24). This option can be specified multiple times</source>
|
||||
<translation>Cho phép các kết nối JSON-RPC từ các nguồn nhất định. Các địa chỉ <ip> hợp lệ là các địa chỉ IP đơn (ví dụ: 1.2.3.4), một mạng/netmask (ví dụ: 1.2.3.4/255.255.255.0) hoặc một mạng/CIDR (ví dụ: 1.2.3.4/24). Tuỳ chọn này có thể chỉ ra nhiều lần.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>An error occurred while setting up the RPC address %s port %u for listening: %s</source>
|
||||
<translation>Có một lỗi xảy ra trong khi thiết lập địa chỉ RPC %s cổng %u để lắng nghe: %s</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6</source>
|
||||
<translation>Liên kết với địa chỉ cụ thể và đưa nó vào danh sách chấp nhận của các đối tác kết nối vào nó. Sử dụng cách viết [địa chỉ máy]:cổng cho IPv6</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. This option can be specified multiple times (default: bind to all interfaces)</source>
|
||||
<translation>Liên kết với địa chỉ cụ thể để lắng nghe các kết nối JSON-RPC. Sử dụng cách viết [địa chỉ máy]:cổng cho IPv6. Tùy chọn này có thể được chỉ định nhiều lần (ngầm định: bind cho tất cả các giao diện)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change automatic finalized budget voting behavior. mode=auto: Vote for only exact finalized budget match to my generated budget. (string, default: auto)</source>
|
||||
<translation>Thay đổi hành vi bỏ phiếu ngân sách cuối cùng tự động. mode = auto: Chỉ bỏ phiếu cho ngân sách cuối cùng tương ứng chính xác với ngân sách được cấp phát của tôi. (string, ngầm định: auto)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Continuously rate-limit free transactions to <n>*1000 bytes per minute (default:%u)</source>
|
||||
<translation>Liên tục giới hạn tỷ lệ miễn phí giao dịch về <n>*1000 byte cho mỗi phút (ngầm định:%u)</translation>
|
||||
@ -3573,6 +3629,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Enable use of automated darksend for funds stored in this wallet (0-1, default: %u)</source>
|
||||
<translation>Cho phép sử dụng tự động darksend cho những ngân sách được lưu trong ví (0-1, ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Unsupported argument -socks found. Setting SOCKS version isn't possible anymore, only SOCKS5 proxies are supported.</source>
|
||||
<translation>Lỗi: Thấy tham số không được hỗ trợ -socks. Thiết lập phiên bản SOCKS là không thể được nữa, chỉ hỗ trợ proxy SOCKS5.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fees (in DASH/Kb) smaller than this are considered zero fee for relaying (default: %s)</source>
|
||||
<translation>Phí (tính theo DASH/Kb) nhỏ hơn số này được coi là không mất phí cho việc chuyển tiền (ngầm định: %s)</translation>
|
||||
@ -3593,10 +3653,30 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>How thorough the block verification of -checkblocks is (0-4, default: %u)</source>
|
||||
<translation>Cách kiểm tra khối triệt để -checkblocks là (0-4, ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>If paytxfee is not set, include enough fee so transactions begin confirmation on average within n blocks (default: %u)</source>
|
||||
<translation>Nếu paytxfee không được thiết lập, bao gồm đầy đủ phí để giao dịch bắt đầu xác nhận bình quân trong n khối (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalid amount for -maxtxfee=<amount>: '%s' (must be at least the minrelay fee of %s to prevent stuck transactions)</source>
|
||||
<translation>Số lượng không phù hợp cho -maxtxfee=<số lượng>: '%s' (phải bằng ít nhất mức phí chuyển tiếp tối thiểu %s để tránh tình trạng tắc các giao dịch)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Log transaction priority and fee per kB when mining blocks (default: %u)</source>
|
||||
<translation>Lưu nhật ký các ưu tiên và phí giao dịch cho mỗi kB khi đào các khối (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maintain a full transaction index, used by the getrawtransaction rpc call (default: %u)</source>
|
||||
<translation>Duy trì một chỉ mục giao dịch đầy đủ, sử dụng bởi lệnh gọi rpc getrawtransaction (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum size of data in data carrier transactions we relay and mine (default: %u)</source>
|
||||
<translation>Kích thước tối đa của dữ liệu trong các giao dịch cung cấp dữ liệu, chúng tôi chuyển tiếp và đào (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Maximum total fees to use in a single wallet transaction, setting too low may abort large transactions (default: %s)</source>
|
||||
<translation>Tổng số tối đa phí để sử dụng cho một giao dịch trên ví, đặt số này quá nhỏ có thể làm bỏ lỡ các giao dịch lớn (ngầm định: %s)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Number of seconds to keep misbehaving peers from reconnecting (default: %u)</source>
|
||||
<translation>Số giây hạn chế để không cho phép các đối tác ngang hàng cư xử không đúng tiếp tục kết nối lại (ngầm định: %u)</translation>
|
||||
@ -3609,6 +3689,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Provide liquidity to Darksend by infrequently mixing coins on a continual basis (0-100, default: %u, 1=very frequent, high fees, 100=very infrequent, low fees)</source>
|
||||
<translation>Cung cấp thanh khoản cho Darksend bằng việc thường xuyên trộn tiền một cách liên tục (0-100, ngầm định: %u, 1=rất thường xuyên, phí cao, 100=rất ít thường xuyên, phí thấp)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Require high priority for relaying free or low-fee transactions (default:%u)</source>
|
||||
<translation>Yêu cầu ưu tiên cao cho việc chuyển tiếp các giao dịch miễn phí hoặc giao dịch phí thấp (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send trace/debug info to console instead of debug.log file (default: %u)</source>
|
||||
<translation>Gửi thông tin trace/debug đến console thay vì ra tệp debug.log (ngầm định: %u)</translation>
|
||||
@ -3625,6 +3709,30 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit <https://www.openssl.org/> and cryptographic software written by Eric Young and UPnP software written by Thomas Bernard.</source>
|
||||
<translation>Sản phẩm này có kèm theo phần mềm được phát triển bởi dự án OpenSSL để sử dụng các công cụ OpenSSL <https://www.openssl.org/> và phần mềm mã hoá được viết bởi Eric Young và phần mềm UPnP được viết bởi Thomas Bernard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>To use dashd, or the -server option to dash-qt, you must set an rpcpassword in the configuration file:
|
||||
%s
|
||||
It is recommended you use the following random password:
|
||||
rpcuser=dashrpc
|
||||
rpcpassword=%s
|
||||
(you do not need to remember this password)
|
||||
The username and password MUST NOT be the same.
|
||||
If the file does not exist, create it with owner-readable-only file permissions.
|
||||
It is also recommended to set alertnotify so you are notified of problems;
|
||||
for example: alertnotify=echo %%s | mail -s "Dash Alert" admin@foo.com
|
||||
</source>
|
||||
<translation>Để sử dụng dashd, hoặc tuỳ chọn -server với dash-qt, bạn phải đặt một mật khẩu rpcpassword trong tệp cấu hình:
|
||||
%s
|
||||
Gợi ý rằng bạn nên sử dụng những mật khẩu ngẫu nhiên sau:
|
||||
rpcuser=dashrpc
|
||||
rpcpassword=%s
|
||||
(bạn không cần thiết phải nhớ mật khẩu này)
|
||||
Username và mật khẩu KHÔNG ĐƯỢC giống nhau.
|
||||
Nếu tệp chưa có, thì hãy tạo ra với quyền chỉ đọc.
|
||||
Gợi ý bạn rằng cần đặt alertnotify để bạn nhận được thông báo về các vấn đề;
|
||||
ví dụ: alertnotify=echo %%s | mail -s "Dash Alert" admin@foo.com
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to locate enough funds for this transaction that are not equal 1000 DASH.</source>
|
||||
<translation>Không tìm được đủ ngân sách cho giao dịch mà nó không đủ 1000 DASH.</translation>
|
||||
@ -3645,6 +3753,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Whitelist peers connecting from the given netmask or IP address. Can be specified multiple times.</source>
|
||||
<translation>Các đối tác ngang hàng cho phép đang kết nối từ địa chỉ IP và netmask. Nó có thể được chỉ rõ nhiều lần.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Whitelisted peers cannot be DoS banned and their transactions are always relayed, even if they are already in the mempool, useful e.g. for a gateway</source>
|
||||
<translation>Cái điểm ngang hàng trong danh sách trắng không thể bị cấm DoS và các giao dịch của nó luôn được chuyển tiếp, thậm chí cả khi nó đã có trong mempool, hữu ích ví dụ như cho một cửa ngõ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>(9999 could be used only on mainnet)</source>
|
||||
<translation>(9999 chỉ được sử dụng trên mạng chính thức)</translation>
|
||||
@ -3690,6 +3802,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Copyright (C) 2014-%i The Dash Core Developers</source>
|
||||
<translation>Bản quyền (C) 2014-%i bởi Nhóm phát triển Dash Core</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not parse -rpcbind value %s as network address</source>
|
||||
<translation>Không thể phân tích giá trị -rpcbind %s như là địa chỉ mạng</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Darksend is idle.</source>
|
||||
<translation>Darksend đang nghỉ.</translation>
|
||||
@ -3722,6 +3838,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Error: A fatal internal error occured, see debug.log for details</source>
|
||||
<translation>Lỗi: Một lỗi nghiêm trọng đã xuất hiện, xem debug.log để biết thêm chi tiết</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Can't select current denominated inputs</source>
|
||||
<translation>Lỗi: Không thể chọn đầu vào gốc hiện tại</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error: Unsupported argument -tor found, use -onion.</source>
|
||||
<translation>Lỗi: Tìm thấy tham số không được hỗ trợ -tor, thay vào đó hãy sử dụng -onion</translation>
|
||||
@ -3878,6 +3998,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Mixing in progress...</source>
|
||||
<translation>Đang trong quá trình trộn...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Need to specify a port with -whitebind: '%s'</source>
|
||||
<translation>Cần chỉ rõ một cổng với -whitebind: '%s'</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Masternodes detected.</source>
|
||||
<translation>Không tìm thấy các Master node.</translation>
|
||||
@ -3910,6 +4034,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Run a thread to flush wallet periodically (default: %u)</source>
|
||||
<translation>Chạy một luồng để làm sạch ví một cách thường xuyên (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send trace/debug info to debug.log file (default: %u)</source>
|
||||
<translation>Gửi thông tin trace/debug vào file debug.log (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Send transactions as zero-fee transactions if possible (default: %u)</source>
|
||||
<translation>Gửi giao dịch như là giao dịch không phí nếu có thể (ngầm định: %u)</translation>
|
||||
@ -4174,6 +4302,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>RPC server options:</source>
|
||||
<translation>Tuỳ chọn cho RPC server</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RPC support for HTTP persistent connections (default: %d)</source>
|
||||
<translation>RPC hỗ trợ cho các kết nối HTTP cố định (ngầm định: %d)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Randomly drop 1 of every <n> network messages</source>
|
||||
<translation>Bỏ ngẫu nhiên 1 mỗi <n> thông điệp mạng</translation>
|
||||
@ -4186,6 +4318,18 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Rebuild block chain index from current blk000??.dat files</source>
|
||||
<translation>Tái tạo lại chỉ mục chuỗi khối từ tệp blk000??.dat</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Receive and display P2P network alerts (default: %u)</source>
|
||||
<translation>Nhận và hiển thị các cảnh báo mạng P2P (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Relay and mine data carrier transactions (default: %u)</source>
|
||||
<translation>Chuyển tiếp và đào các giao dịch mang dữ liệu (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Relay non-P2SH multisig (default: %u)</source>
|
||||
<translation>Chuyển tiếp các khoá đa chữ ký không phải P2SH (ngầm định: %u)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rescan the block chain for missing wallet transactions</source>
|
||||
<translation>Quét lại chuỗi khối cho các giao dịch ví bị thiếu.</translation>
|
||||
@ -4246,6 +4390,10 @@ https://www.transifex.com/projects/p/dash/</translation>
|
||||
<source>Specify your own public address</source>
|
||||
<translation>Hãy xác định địa chỉ công khai của bạn</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Synchronization pending...</source>
|
||||
<translation>Đang chuẩn bị đồng bộ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This help message</source>
|
||||
<translation>Đây là thông điệp trợ giúp</translation>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -297,6 +297,12 @@ WalletModel::SendCoinsReturn WalletModel::prepareTransaction(WalletModelTransact
|
||||
bool fCreated = wallet->CreateTransaction(vecSend, *newTx, *keyChange, nFeeRequired, strFailReason, coinControl, recipients[0].inputType, recipients[0].useInstantX);
|
||||
transaction.setTransactionFee(nFeeRequired);
|
||||
|
||||
if(recipients[0].useInstantX && newTx->GetValueOut() > GetSporkValue(SPORK_5_MAX_VALUE)*COIN){
|
||||
emit message(tr("Send Coins"), tr("InstantX doesn't support sending values that high yet. Transactions are currently limited to %1 DASH.").arg(GetSporkValue(SPORK_5_MAX_VALUE)),
|
||||
CClientUIInterface::MSG_ERROR);
|
||||
return TransactionCreationFailed;
|
||||
}
|
||||
|
||||
if(!fCreated)
|
||||
{
|
||||
if((total + nFeeRequired) > nBalance)
|
||||
|
@ -97,6 +97,8 @@ static const CRPCConvertParam vRPCConvertParams[] =
|
||||
{ "mnbudget", 4 },
|
||||
{ "mnbudget", 6 },
|
||||
{ "mnbudget", 8 },
|
||||
{ "mnbudgetvoteraw", 1 },
|
||||
{ "mnbudgetvoteraw", 4 },
|
||||
};
|
||||
|
||||
class CRPCConvertTable
|
||||
|
@ -505,6 +505,58 @@ Value mnbudget(const Array& params, bool fHelp)
|
||||
return Value::null;
|
||||
}
|
||||
|
||||
Value mnbudgetvoteraw(const Array& params, bool fHelp)
|
||||
{
|
||||
if (fHelp || params.size() != 6)
|
||||
throw runtime_error(
|
||||
"mnbudgetvoteraw <masternode-tx-hash> <masternode-tx-index> <proposal-hash> <yes|no> <time> <vote-sig>\n"
|
||||
"Compile and relay a proposal vote with provided external signature instead of signing vote internally\n"
|
||||
);
|
||||
|
||||
uint256 hashMnTx = ParseHashV(params[0], "mn tx hash");
|
||||
int nMnTxIndex = params[1].get_int();
|
||||
CTxIn vin = CTxIn(hashMnTx, nMnTxIndex);
|
||||
|
||||
uint256 hashProposal = ParseHashV(params[2], "Proposal hash");
|
||||
std::string strVote = params[3].get_str();
|
||||
|
||||
if(strVote != "yes" && strVote != "no") return "You can only vote 'yes' or 'no'";
|
||||
int nVote = VOTE_ABSTAIN;
|
||||
if(strVote == "yes") nVote = VOTE_YES;
|
||||
if(strVote == "no") nVote = VOTE_NO;
|
||||
|
||||
int64_t nTime = params[4].get_int64();
|
||||
std::string strSig = params[5].get_str();
|
||||
bool fInvalid = false;
|
||||
vector<unsigned char> vchSig = DecodeBase64(strSig.c_str(), &fInvalid);
|
||||
|
||||
if (fInvalid)
|
||||
throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Malformed base64 encoding");
|
||||
|
||||
CMasternode* pmn = mnodeman.Find(vin);
|
||||
if(pmn == NULL)
|
||||
{
|
||||
return "Failure to find masternode in list : " + vin.ToString();
|
||||
}
|
||||
|
||||
CBudgetVote vote(vin, hashProposal, nVote);
|
||||
vote.nTime = nTime;
|
||||
vote.vchSig = vchSig;
|
||||
|
||||
if(!vote.SignatureValid(true)){
|
||||
return "Failure to verify signature.";
|
||||
}
|
||||
|
||||
std::string strError = "";
|
||||
if(budget.UpdateProposal(vote, NULL, strError)){
|
||||
budget.mapSeenMasternodeBudgetVotes.insert(make_pair(vote.GetHash(), vote));
|
||||
vote.Relay();
|
||||
return "Voted successfully";
|
||||
} else {
|
||||
return "Error voting : " + strError;
|
||||
}
|
||||
}
|
||||
|
||||
Value mnfinalbudget(const Array& params, bool fHelp)
|
||||
{
|
||||
string strCommand;
|
||||
|
@ -309,14 +309,15 @@ static const CRPCCommand vRPCCommands[] =
|
||||
{ "hidden", "setmocktime", &setmocktime, true, false, false },
|
||||
|
||||
/* Dash features */
|
||||
{ "dash", "mnsync", &mnsync, true, false, false },
|
||||
{ "dash", "spork", &spork, true, false, false },
|
||||
{ "dash", "masternode", &masternode, true, false, true },
|
||||
{ "dash", "mnbudget", &mnbudget, true, false, false },
|
||||
{ "dash", "mnfinalbudget", &mnfinalbudget, true, false, false },
|
||||
{ "dash", "masternodelist", &masternodelist, true, false, false },
|
||||
{ "dash", "masternode", &masternode, true, true, false },
|
||||
{ "dash", "masternodelist", &masternodelist, true, true, false },
|
||||
{ "dash", "mnbudget", &mnbudget, true, true, false },
|
||||
{ "dash", "mnbudgetvoteraw", &mnbudgetvoteraw, true, true, false },
|
||||
{ "dash", "mnfinalbudget", &mnfinalbudget, true, true, false },
|
||||
{ "dash", "mnsync", &mnsync, true, true, false },
|
||||
{ "dash", "spork", &spork, true, true, false },
|
||||
#ifdef ENABLE_WALLET
|
||||
{ "dash", "darksend", &darksend, false, false, true },
|
||||
{ "dash", "darksend", &darksend, false, false, true }, /* not threadSafe because of SendMoney */
|
||||
|
||||
/* Wallet */
|
||||
{ "wallet", "addmultisigaddress", &addmultisigaddress, true, false, true },
|
||||
|
@ -232,6 +232,7 @@ extern json_spirit::Value spork(const json_spirit::Array& params, bool fHelp);
|
||||
extern json_spirit::Value masternode(const json_spirit::Array& params, bool fHelp);
|
||||
extern json_spirit::Value masternodelist(const json_spirit::Array& params, bool fHelp);
|
||||
extern json_spirit::Value mnbudget(const json_spirit::Array& params, bool fHelp);
|
||||
extern json_spirit::Value mnbudgetvoteraw(const json_spirit::Array& params, bool fHelp);
|
||||
extern json_spirit::Value mnfinalbudget(const json_spirit::Array& params, bool fHelp);
|
||||
extern json_spirit::Value mnsync(const json_spirit::Array& params, bool fHelp);
|
||||
|
||||
|
@ -48,7 +48,9 @@ void EnsureWalletIsUnlocked()
|
||||
void WalletTxToJSON(const CWalletTx& wtx, Object& entry)
|
||||
{
|
||||
int confirms = wtx.GetDepthInMainChain(false);
|
||||
entry.push_back(Pair("confirmations", confirms));
|
||||
int confirmsTotal = GetIXConfirmations(wtx.GetHash()) + confirms;
|
||||
entry.push_back(Pair("confirmations", confirmsTotal));
|
||||
entry.push_back(Pair("bcconfirmations", confirms));
|
||||
if (wtx.IsCoinBase())
|
||||
entry.push_back(Pair("generated", true));
|
||||
if (confirms > 0)
|
||||
@ -1006,12 +1008,14 @@ struct tallyitem
|
||||
{
|
||||
CAmount nAmount;
|
||||
int nConf;
|
||||
int nBCConf;
|
||||
vector<uint256> txids;
|
||||
bool fIsWatchonly;
|
||||
tallyitem()
|
||||
{
|
||||
nAmount = 0;
|
||||
nConf = std::numeric_limits<int>::max();
|
||||
nBCConf = std::numeric_limits<int>::max();
|
||||
fIsWatchonly = false;
|
||||
}
|
||||
};
|
||||
@ -1043,6 +1047,7 @@ Value ListReceived(const Array& params, bool fByAccounts)
|
||||
continue;
|
||||
|
||||
int nDepth = wtx.GetDepthInMainChain();
|
||||
int nBCDepth = wtx.GetDepthInMainChain(false);
|
||||
if (nDepth < nMinDepth)
|
||||
continue;
|
||||
|
||||
@ -1059,6 +1064,7 @@ Value ListReceived(const Array& params, bool fByAccounts)
|
||||
tallyitem& item = mapTally[address];
|
||||
item.nAmount += txout.nValue;
|
||||
item.nConf = min(item.nConf, nDepth);
|
||||
item.nBCConf = min(item.nBCConf, nBCDepth);
|
||||
item.txids.push_back(wtx.GetHash());
|
||||
if (mine & ISMINE_WATCH_ONLY)
|
||||
item.fIsWatchonly = true;
|
||||
@ -1078,11 +1084,13 @@ Value ListReceived(const Array& params, bool fByAccounts)
|
||||
|
||||
CAmount nAmount = 0;
|
||||
int nConf = std::numeric_limits<int>::max();
|
||||
int nBCConf = std::numeric_limits<int>::max();
|
||||
bool fIsWatchonly = false;
|
||||
if (it != mapTally.end())
|
||||
{
|
||||
nAmount = (*it).second.nAmount;
|
||||
nConf = (*it).second.nConf;
|
||||
nBCConf = (*it).second.nBCConf;
|
||||
fIsWatchonly = (*it).second.fIsWatchonly;
|
||||
}
|
||||
|
||||
@ -1091,6 +1099,7 @@ Value ListReceived(const Array& params, bool fByAccounts)
|
||||
tallyitem& item = mapAccountTally[strAccount];
|
||||
item.nAmount += nAmount;
|
||||
item.nConf = min(item.nConf, nConf);
|
||||
item.nBCConf = min(item.nBCConf, nBCConf);
|
||||
item.fIsWatchonly = fIsWatchonly;
|
||||
}
|
||||
else
|
||||
@ -1102,6 +1111,7 @@ Value ListReceived(const Array& params, bool fByAccounts)
|
||||
obj.push_back(Pair("account", strAccount));
|
||||
obj.push_back(Pair("amount", ValueFromAmount(nAmount)));
|
||||
obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf)));
|
||||
obj.push_back(Pair("bcconfirmations", (nBCConf == std::numeric_limits<int>::max() ? 0 : nBCConf)));
|
||||
Array transactions;
|
||||
if (it != mapTally.end())
|
||||
{
|
||||
@ -1121,12 +1131,14 @@ Value ListReceived(const Array& params, bool fByAccounts)
|
||||
{
|
||||
CAmount nAmount = (*it).second.nAmount;
|
||||
int nConf = (*it).second.nConf;
|
||||
int nBCConf = (*it).second.nBCConf;
|
||||
Object obj;
|
||||
if((*it).second.fIsWatchonly)
|
||||
obj.push_back(Pair("involvesWatchonly", true));
|
||||
obj.push_back(Pair("account", (*it).first));
|
||||
obj.push_back(Pair("amount", ValueFromAmount(nAmount)));
|
||||
obj.push_back(Pair("confirmations", (nConf == std::numeric_limits<int>::max() ? 0 : nConf)));
|
||||
obj.push_back(Pair("bcconfirmations", (nBCConf == std::numeric_limits<int>::max() ? 0 : nBCConf)));
|
||||
ret.push_back(obj);
|
||||
}
|
||||
}
|
||||
@ -1153,6 +1165,7 @@ Value listreceivedbyaddress(const Array& params, bool fHelp)
|
||||
" \"account\" : \"accountname\", (string) The account of the receiving address. The default account is \"\".\n"
|
||||
" \"amount\" : x.xxx, (numeric) The total amount in btc received by the address\n"
|
||||
" \"confirmations\" : n (numeric) The number of confirmations of the most recent transaction included\n"
|
||||
" \"bcconfirmations\" : n (numeric) The number of blockchain confirmations of the most recent transaction included\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
"]\n"
|
||||
@ -1184,6 +1197,7 @@ Value listreceivedbyaccount(const Array& params, bool fHelp)
|
||||
" \"account\" : \"accountname\", (string) The account name of the receiving account\n"
|
||||
" \"amount\" : x.xxx, (numeric) The total amount received by addresses with this account\n"
|
||||
" \"confirmations\" : n (numeric) The number of confirmations of the most recent transaction included\n"
|
||||
" \"bcconfirmations\" : n (numeric) The number of blockchain confirmations of the most recent transaction included\n"
|
||||
" }\n"
|
||||
" ,...\n"
|
||||
"]\n"
|
||||
@ -1323,6 +1337,8 @@ Value listtransactions(const Array& params, bool fHelp)
|
||||
" 'send' category of transactions.\n"
|
||||
" \"confirmations\": n, (numeric) The number of confirmations for the transaction. Available for 'send' and \n"
|
||||
" 'receive' category of transactions.\n"
|
||||
" \"bcconfirmations\": n, (numeric) The number of blockchain confirmations for the transaction. Available for 'send'\n"
|
||||
" and 'receive' category of transactions.\n"
|
||||
" \"blockhash\": \"hashvalue\", (string) The block hash containing the transaction. Available for 'send' and 'receive'\n"
|
||||
" category of transactions.\n"
|
||||
" \"blockindex\": n, (numeric) The block index containing the transaction. Available for 'send' and 'receive'\n"
|
||||
@ -1500,6 +1516,7 @@ Value listsinceblock(const Array& params, bool fHelp)
|
||||
" \"vout\" : n, (numeric) the vout value\n"
|
||||
" \"fee\": x.xxx, (numeric) The amount of the fee in btc. This is negative and only available for the 'send' category of transactions.\n"
|
||||
" \"confirmations\": n, (numeric) The number of confirmations for the transaction. Available for 'send' and 'receive' category of transactions.\n"
|
||||
" \"bcconfirmations\" : n, (numeric) The number of blockchain confirmations for the transaction. Available for 'send' and 'receive' category of transactions.\n"
|
||||
" \"blockhash\": \"hashvalue\", (string) The block hash containing the transaction. Available for 'send' and 'receive' category of transactions.\n"
|
||||
" \"blockindex\": n, (numeric) The block index containing the transaction. Available for 'send' and 'receive' category of transactions.\n"
|
||||
" \"blocktime\": xxx, (numeric) The block time in seconds since epoch (1 Jan 1970 GMT).\n"
|
||||
@ -1551,7 +1568,7 @@ Value listsinceblock(const Array& params, bool fHelp)
|
||||
{
|
||||
CWalletTx tx = (*it).second;
|
||||
|
||||
if (depth == -1 || tx.GetDepthInMainChain() < depth)
|
||||
if (depth == -1 || tx.GetDepthInMainChain(false) < depth)
|
||||
ListTransactions(tx, "*", 0, true, transactions, filter);
|
||||
}
|
||||
|
||||
@ -1578,6 +1595,7 @@ Value gettransaction(const Array& params, bool fHelp)
|
||||
"{\n"
|
||||
" \"amount\" : x.xxx, (numeric) The transaction amount in btc\n"
|
||||
" \"confirmations\" : n, (numeric) The number of confirmations\n"
|
||||
" \"bcconfirmations\" : n, (numeric) The number of blockchain confirmations\n"
|
||||
" \"blockhash\" : \"hash\", (string) The block hash\n"
|
||||
" \"blockindex\" : xx, (numeric) The block index\n"
|
||||
" \"blocktime\" : ttt, (numeric) The time in seconds since epoch (1 Jan 1970 GMT)\n"
|
||||
|
@ -108,7 +108,8 @@ bool fMasterNode = false;
|
||||
string strMasterNodePrivKey = "";
|
||||
string strMasterNodeAddr = "";
|
||||
bool fLiteMode = false;
|
||||
int nInstantXDepth = 1;
|
||||
bool fEnableInstantX = true;
|
||||
int nInstantXDepth = 5;
|
||||
int nDarksendRounds = 2;
|
||||
int nAnonymizeDarkcoinAmount = 1000;
|
||||
int nLiquidityProvider = 0;
|
||||
|
@ -32,6 +32,7 @@
|
||||
|
||||
extern bool fMasterNode;
|
||||
extern bool fLiteMode;
|
||||
extern bool fEnableInstantX;
|
||||
extern int nInstantXDepth;
|
||||
extern int nDarksendRounds;
|
||||
extern int nAnonymizeDarkcoinAmount;
|
||||
|
@ -3254,7 +3254,7 @@ int CMerkleTx::GetTransactionLockSignatures() const
|
||||
{
|
||||
if(fLargeWorkForkFound || fLargeWorkInvalidChainFound) return -2;
|
||||
if(!IsSporkActive(SPORK_2_INSTANTX)) return -3;
|
||||
if(nInstantXDepth == 0) return -1;
|
||||
if(!fEnableInstantX) return -1;
|
||||
|
||||
//compile consessus vote
|
||||
std::map<uint256, CTransactionLock>::iterator i = mapTxLocks.find(GetHash());
|
||||
@ -3267,7 +3267,7 @@ int CMerkleTx::GetTransactionLockSignatures() const
|
||||
|
||||
bool CMerkleTx::IsTransactionLockTimedOut() const
|
||||
{
|
||||
if(nInstantXDepth == 0) return 0;
|
||||
if(!fEnableInstantX) return 0;
|
||||
|
||||
//compile consessus vote
|
||||
std::map<uint256, CTransactionLock>::iterator i = mapTxLocks.find(GetHash());
|
||||
|
Loading…
Reference in New Issue
Block a user