is this working now?
This commit is contained in:
@@ -234,7 +234,7 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
|||||||
decode_hex(elected_pubkeys0[i],33,(char *)Notaries_elected0[i][1]);
|
decode_hex(elected_pubkeys0[i],33,(char *)Notaries_elected0[i][1]);
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
pthread_mutex_lock(&komodo_mutex);
|
pthread_mutex_lock(&komodo_mutex);
|
||||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)Notaries_elected0[i][1]);
|
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)elected_pubkeys0[i]);
|
||||||
pthread_mutex_unlock(&komodo_mutex);
|
pthread_mutex_unlock(&komodo_mutex);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -254,7 +254,7 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
|||||||
decode_hex(elected_pubkeys1[i],33,(char *)Notaries_elected1[i][1]);
|
decode_hex(elected_pubkeys1[i],33,(char *)Notaries_elected1[i][1]);
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
pthread_mutex_lock(&komodo_mutex);
|
pthread_mutex_lock(&komodo_mutex);
|
||||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)Notaries_elected1[i][1]);
|
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)elected_pubkeys1[i]);
|
||||||
pthread_mutex_unlock(&komodo_mutex);
|
pthread_mutex_unlock(&komodo_mutex);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -281,7 +281,6 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
|||||||
decode_hex(staked_pubkeys1[i],33,(char *)notaries_STAKED1[i][1]);
|
decode_hex(staked_pubkeys1[i],33,(char *)notaries_STAKED1[i][1]);
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
pthread_mutex_lock(&komodo_mutex);
|
pthread_mutex_lock(&komodo_mutex);
|
||||||
fprintf(stderr, "pubkey?: %s\n",staked_pubkeys1[i]);
|
|
||||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys1[i]);
|
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys1[i]);
|
||||||
pthread_mutex_unlock(&komodo_mutex);
|
pthread_mutex_unlock(&komodo_mutex);
|
||||||
#endif
|
#endif
|
||||||
@@ -303,7 +302,7 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
|||||||
decode_hex(staked_pubkeys2[i],33,(char *)notaries_STAKED2[i][1]);
|
decode_hex(staked_pubkeys2[i],33,(char *)notaries_STAKED2[i][1]);
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
pthread_mutex_lock(&komodo_mutex);
|
pthread_mutex_lock(&komodo_mutex);
|
||||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)notaries_STAKED2[i][1]);
|
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys2[i]);
|
||||||
pthread_mutex_unlock(&komodo_mutex);
|
pthread_mutex_unlock(&komodo_mutex);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -323,7 +322,7 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
|||||||
decode_hex(staked_pubkeys3[i],33,(char *)notaries_STAKED3[i][1]);
|
decode_hex(staked_pubkeys3[i],33,(char *)notaries_STAKED3[i][1]);
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
pthread_mutex_lock(&komodo_mutex);
|
pthread_mutex_lock(&komodo_mutex);
|
||||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)notaries_STAKED3[i][1]);
|
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys3[i]);
|
||||||
pthread_mutex_unlock(&komodo_mutex);
|
pthread_mutex_unlock(&komodo_mutex);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
@@ -342,7 +341,7 @@ int32_t komodo_notaries(uint8_t pubkeys[64][33],int32_t height,uint32_t timestam
|
|||||||
decode_hex(staked_pubkeys4[i],33,(char *)notaries_STAKED4[i][1]);
|
decode_hex(staked_pubkeys4[i],33,(char *)notaries_STAKED4[i][1]);
|
||||||
#ifdef SERVER
|
#ifdef SERVER
|
||||||
pthread_mutex_lock(&komodo_mutex);
|
pthread_mutex_lock(&komodo_mutex);
|
||||||
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)notaries_STAKED4[i][1]);
|
pubkey2addr((char *)NOTARYADDRS[i],(uint8_t *)staked_pubkeys4[i]);
|
||||||
pthread_mutex_unlock(&komodo_mutex);
|
pthread_mutex_unlock(&komodo_mutex);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -244,7 +244,6 @@ bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet)
|
|||||||
if (whichType == TX_PUBKEY)
|
if (whichType == TX_PUBKEY)
|
||||||
{
|
{
|
||||||
CPubKey pubKey(vSolutions[0]);
|
CPubKey pubKey(vSolutions[0]);
|
||||||
fprintf(stderr, "pubkey in exdest: %s\n",scriptPubKey.ToString().c_str());
|
|
||||||
if (!pubKey.IsValid())
|
if (!pubKey.IsValid())
|
||||||
{
|
{
|
||||||
fprintf(stderr,"TX_PUBKEY invalid pubkey\n");
|
fprintf(stderr,"TX_PUBKEY invalid pubkey\n");
|
||||||
|
|||||||
@@ -4959,6 +4959,7 @@ UniValue channelsaddress(const UniValue& params, bool fHelp)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool pubkey2addr(char *destaddr,uint8_t *pubkey33);
|
bool pubkey2addr(char *destaddr,uint8_t *pubkey33);
|
||||||
|
extern int32_t IS_KOMODO_NOTARY;
|
||||||
|
|
||||||
UniValue setpubkey(const UniValue& params, bool fHelp)
|
UniValue setpubkey(const UniValue& params, bool fHelp)
|
||||||
{
|
{
|
||||||
@@ -5005,9 +5006,20 @@ UniValue setpubkey(const UniValue& params, bool fHelp)
|
|||||||
NOTARY_ADDRESS = address.ToString();
|
NOTARY_ADDRESS = address.ToString();
|
||||||
result.push_back(Pair("address", NOTARY_ADDRESS));
|
result.push_back(Pair("address", NOTARY_ADDRESS));
|
||||||
#ifdef ENABLE_WALLET
|
#ifdef ENABLE_WALLET
|
||||||
isminetype mine = pwalletMain ? IsMine(*pwalletMain, dest) : ISMINE_NO;
|
isminetype mine = pwalletMain;
|
||||||
result.push_back(Pair("ismine", (mine & ISMINE_SPENDABLE) ? true : false));
|
if ( IsMine(*pwalletMain, dest) == ISMINE_NO ) {
|
||||||
|
result.push_back(Pair("WARNING", "privkey for this pubkey is not imported to wallet!"));
|
||||||
|
} else {
|
||||||
|
result.push_back(Pair("ismine", "true"));
|
||||||
|
std::string notaryname;
|
||||||
|
if ( StakedNotaryID(notaryname, Raddress) != -1 ) {
|
||||||
|
IS_KOMODO_NOTARY = 1;
|
||||||
|
result.push_back(Pair("IsNotary", notaryname));
|
||||||
|
}
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
} else {
|
||||||
|
result.push_back(Pair("error", "pubkey entered is invalid."));
|
||||||
}
|
}
|
||||||
NOTARY_PUBKEY = params[0].get_str();
|
NOTARY_PUBKEY = params[0].get_str();
|
||||||
decode_hex(NOTARY_PUBKEY33,33,(char *)NOTARY_PUBKEY.c_str());
|
decode_hex(NOTARY_PUBKEY33,33,(char *)NOTARY_PUBKEY.c_str());
|
||||||
|
|||||||
@@ -1213,7 +1213,7 @@ bool CWallet::AddToWalletIfInvolvingMe(const CTransaction& tx, const CBlock* pbl
|
|||||||
|
|
||||||
if (fExisted || IsMine(tx) || IsFromMe(tx) || noteData.size() > 0)
|
if (fExisted || IsMine(tx) || IsFromMe(tx) || noteData.size() > 0)
|
||||||
{
|
{
|
||||||
if ( NOTARY_ADDRESS != "" )
|
if ( NOTARY_ADDRESS != "" && IS_KOMODO_NOTARY == 1 )
|
||||||
{
|
{
|
||||||
int numvinIsOurs = 0, numvoutIsOurs = 0; int64_t totalvoutvalue = 0;
|
int numvinIsOurs = 0, numvoutIsOurs = 0; int64_t totalvoutvalue = 0;
|
||||||
for (size_t i = 0; i < tx.vin.size(); i++) {
|
for (size_t i = 0; i < tx.vin.size(); i++) {
|
||||||
@@ -1253,6 +1253,8 @@ bool CWallet::AddToWalletIfInvolvingMe(const CTransaction& tx, const CBlock* pbl
|
|||||||
} else if ( numvinIsOurs < tx.vin.size() ) {
|
} else if ( numvinIsOurs < tx.vin.size() ) {
|
||||||
// this means we were in a multi sig, we wil remove the utxo we spent from our wallet,
|
// this means we were in a multi sig, we wil remove the utxo we spent from our wallet,
|
||||||
// IF there exisited a function for that.
|
// IF there exisited a function for that.
|
||||||
|
// Maybe check if there are any vouts unspetn in this TX
|
||||||
|
// then purge the TX from wallet if all spent?
|
||||||
fprintf(stderr, "There are vins that are not ours, notarisation?\n");
|
fprintf(stderr, "There are vins that are not ours, notarisation?\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user