Merge pull request #501 from jl777/dev
MSHARK and assetchains with hash as name
This commit is contained in:
@@ -36,6 +36,7 @@ komodo_asset BET 999999
|
||||
komodo_asset CRYPTO 999999
|
||||
komodo_asset HODL 9999999
|
||||
komodo_asset SHARK 1401
|
||||
komodo_asset MSHARK 1400000
|
||||
komodo_asset BOTS 999999
|
||||
komodo_asset MGW 999999
|
||||
#komodo_asset MVP 1000000
|
||||
|
||||
@@ -13,6 +13,7 @@ echo $pubkey
|
||||
./komodod -pubkey=$pubkey -ac_name=CRYPTO -ac_supply=999999 -addnode=78.47.196.146 $1 &
|
||||
./komodod -pubkey=$pubkey -ac_name=HODL -ac_supply=9999999 -addnode=78.47.196.146 $1 &
|
||||
./komodod -pubkey=$pubkey -ac_name=SHARK -ac_supply=1401 -addnode=78.47.196.146 $1 &
|
||||
./komodod -pubkey=$pubkey -ac_name=MSHARK -ac_supply=1400000 -addnode=78.47.196.146 $1 &
|
||||
./komodod -pubkey=$pubkey -ac_name=BOTS -ac_supply=999999 -addnode=78.47.196.146 $1 &
|
||||
./komodod -pubkey=$pubkey -ac_name=MGW -ac_supply=999999 -addnode=78.47.196.146 $1 &
|
||||
#./komodod -pubkey=$pubkey -ac_name=MVP -ac_supply=1000000 -addnode=78.47.196.146 $1 &
|
||||
|
||||
@@ -42,7 +42,8 @@
|
||||
*/
|
||||
|
||||
static bool fDaemon;
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
#define KOMODO_ASSETCHAIN_MAXLEN 65
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
void komodo_passport_iteration();
|
||||
|
||||
void WaitForShutdown(boost::thread_group* threadGroup)
|
||||
|
||||
@@ -30,7 +30,9 @@ using namespace std;
|
||||
* + Contains no strange transactions
|
||||
*/
|
||||
void *chainparams_commandline(void *ptr);
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
#include "komodo_defs.h"
|
||||
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
extern uint16_t ASSETCHAINS_PORT;
|
||||
extern uint32_t ASSETCHAIN_INIT;
|
||||
extern uint32_t ASSETCHAINS_MAGIC;
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "random.h"
|
||||
#include "version.h"
|
||||
#include "policy/fees.h"
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
@@ -387,7 +388,7 @@ const CScript &CCoinsViewCache::GetSpendFor(const CTxIn& input) const
|
||||
|
||||
//uint64_t komodo_interest(int32_t txheight,uint64_t nValue,uint32_t nLockTime,uint32_t tiptime);
|
||||
uint64_t komodo_accrued_interest(int32_t *txheightp,uint32_t *locktimep,uint256 hash,int32_t n,int32_t checkheight,uint64_t checkvalue);
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
|
||||
CAmount CCoinsViewCache::GetValueIn(int32_t nHeight,int64_t *interestp,const CTransaction& tx,uint32_t tiptime) const
|
||||
{
|
||||
|
||||
@@ -14,6 +14,7 @@ curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dp
|
||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"CRYPTO\",\"pubkey\":\"$pubkey\"}"
|
||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"HODL\",\"pubkey\":\"$pubkey\"}"
|
||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"SHARK\",\"pubkey\":\"$pubkey\"}"
|
||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"MSHARK\",\"pubkey\":\"$pubkey\"}"
|
||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"BOTS\",\"pubkey\":\"$pubkey\"}"
|
||||
curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"MGW\",\"pubkey\":\"$pubkey\"}"
|
||||
#curl --url "http://127.0.0.1:7776" --data "{\"agent\":\"iguana\",\"method\":\"dpow\",\"symbol\":\"MVP\",\"pubkey\":\"$pubkey\"}"
|
||||
|
||||
@@ -41,6 +41,7 @@ echo bet; fiat/bet $1 $2 $3 $4
|
||||
echo crypto; fiat/crypto $1 $2 $3 $4
|
||||
echo hodl; fiat/hodl $1 $2 $3 $4
|
||||
echo shark; fiat/shark $1 $2 $3 $4
|
||||
echo mshark; fiat/mshark $1 $2 $3 $4
|
||||
echo bots; fiat/bots $1 $2 $3 $4
|
||||
echo mgw; fiat/mgw $1 $2 $3 $4
|
||||
#echo mvp; fiat/mvp $1 $2 $3 $4
|
||||
|
||||
2
src/fiat/mshark
Executable file
2
src/fiat/mshark
Executable file
@@ -0,0 +1,2 @@
|
||||
#!/bin/bash
|
||||
./komodo-cli -ac_name=MSHARK $1 $2 $3 $4 $5 $6
|
||||
@@ -27,6 +27,7 @@ using namespace std;
|
||||
#include "arith_uint256.h"
|
||||
#include "komodo_structs.h"
|
||||
#include "komodo_globals.h"
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#include "komodo_interest.h"
|
||||
|
||||
|
||||
11
src/komodo.h
11
src/komodo.h
@@ -15,6 +15,7 @@
|
||||
|
||||
#ifndef H_KOMODO_H
|
||||
#define H_KOMODO_H
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#define printf(...)
|
||||
@@ -56,14 +57,14 @@ int32_t komodo_parsestatefile(struct komodo_state *sp,FILE *fp,char *symbol,char
|
||||
|
||||
void komodo_currentheight_set(int32_t height)
|
||||
{
|
||||
char symbol[16],dest[16]; struct komodo_state *sp;
|
||||
char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; struct komodo_state *sp;
|
||||
if ( (sp= komodo_stateptr(symbol,dest)) != 0 )
|
||||
sp->CURRENT_HEIGHT = height;
|
||||
}
|
||||
|
||||
int32_t komodo_currentheight()
|
||||
{
|
||||
char symbol[16],dest[16]; struct komodo_state *sp;
|
||||
char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; struct komodo_state *sp;
|
||||
if ( (sp= komodo_stateptr(symbol,dest)) != 0 )
|
||||
return(sp->CURRENT_HEIGHT);
|
||||
else return(0);
|
||||
@@ -328,7 +329,7 @@ int32_t komodo_parsestatefiledata(struct komodo_state *sp,uint8_t *filedata,long
|
||||
void komodo_stateupdate(int32_t height,uint8_t notarypubs[][33],uint8_t numnotaries,uint8_t notaryid,uint256 txhash,uint64_t voutmask,uint8_t numvouts,uint32_t *pvals,uint8_t numpvals,int32_t KMDheight,uint32_t KMDtimestamp,uint64_t opretvalue,uint8_t *opretbuf,uint16_t opretlen,uint16_t vout)
|
||||
{
|
||||
static FILE *fp; static int32_t errs,didinit;
|
||||
struct komodo_state *sp; char fname[512],symbol[16],dest[16]; int32_t retval,ht,func; uint8_t num,pubkeys[64][33];
|
||||
struct komodo_state *sp; char fname[512],symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; int32_t retval,ht,func; uint8_t num,pubkeys[64][33];
|
||||
if ( didinit == 0 )
|
||||
{
|
||||
portable_mutex_init(&KOMODO_KV_mutex);
|
||||
@@ -475,7 +476,7 @@ void komodo_stateupdate(int32_t height,uint8_t notarypubs[][33],uint8_t numnotar
|
||||
int32_t komodo_voutupdate(int32_t *isratificationp,int32_t notaryid,uint8_t *scriptbuf,int32_t scriptlen,int32_t height,uint256 txhash,int32_t i,int32_t j,uint64_t *voutmaskp,int32_t *specialtxp,int32_t *notarizedheightp,uint64_t value,int32_t notarized,uint64_t signedmask)
|
||||
{
|
||||
static uint256 zero; static FILE *signedfp;
|
||||
int32_t opretlen,nid,k,len = 0; uint256 kmdtxid,desttxid; uint8_t crypto777[33]; struct komodo_state *sp; char symbol[16],dest[16];
|
||||
int32_t opretlen,nid,k,len = 0; uint256 kmdtxid,desttxid; uint8_t crypto777[33]; struct komodo_state *sp; char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
if ( (sp= komodo_stateptr(symbol,dest)) == 0 )
|
||||
return(-1);
|
||||
if ( scriptlen == 35 && scriptbuf[0] == 33 && scriptbuf[34] == 0xac )
|
||||
@@ -633,7 +634,7 @@ int32_t komodo_notarycmp(uint8_t *scriptPubKey,int32_t scriptlen,uint8_t pubkeys
|
||||
void komodo_connectblock(CBlockIndex *pindex,CBlock& block)
|
||||
{
|
||||
static int32_t hwmheight;
|
||||
uint64_t signedmask,voutmask; char symbol[16],dest[16]; struct komodo_state *sp;
|
||||
uint64_t signedmask,voutmask; char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; struct komodo_state *sp;
|
||||
uint8_t scriptbuf[4096],pubkeys[64][33],rmd160[20],scriptPubKey[35]; uint256 kmdtxid,zero,btctxid,txhash;
|
||||
int32_t i,j,k,numnotaries,notarized,scriptlen,isratification,nid,numvalid,specialtx,notarizedheight,notaryid,len,numvouts,numvins,height,txn_count;
|
||||
memset(&zero,0,sizeof(zero));
|
||||
|
||||
@@ -23,6 +23,8 @@
|
||||
#include <curl/easy.h>
|
||||
#endif
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
//#define issue_curl(cmdstr) bitcoind_RPC(0,(char *)"curl",(char *)"http://127.0.0.1:7776",0,0,(char *)(cmdstr))
|
||||
|
||||
struct MemoryStruct { char *memory; size_t size; };
|
||||
@@ -559,7 +561,7 @@ uint32_t komodo_txtime(uint256 hash)
|
||||
|
||||
void komodo_disconnect(CBlockIndex *pindex,CBlock& block)
|
||||
{
|
||||
char symbol[16],dest[16]; struct komodo_state *sp;
|
||||
char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; struct komodo_state *sp;
|
||||
//fprintf(stderr,"disconnect ht.%d\n",pindex->nHeight);
|
||||
komodo_init(pindex->nHeight);
|
||||
if ( (sp= komodo_stateptr(symbol,dest)) != 0 )
|
||||
|
||||
9
src/komodo_defs.h
Normal file
9
src/komodo_defs.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#ifndef KOMODO_DEFS_H
|
||||
#define KOMODO_DEFS_H
|
||||
|
||||
#define ASSETCHAINS_MINHEIGHT 128
|
||||
#define KOMODO_ELECTION_GAP 2000
|
||||
#define ROUNDROBIN_DELAY 61
|
||||
#define KOMODO_ASSETCHAIN_MAXLEN 65
|
||||
|
||||
#endif
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#ifndef H_KOMODOEVENTS_H
|
||||
#define H_KOMODOEVENTS_H
|
||||
#include "komodo_defs.h"
|
||||
|
||||
struct komodo_event *komodo_eventadd(struct komodo_state *sp,int32_t height,char *symbol,uint8_t type,uint8_t *data,uint16_t datalen)
|
||||
{
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
******************************************************************************/
|
||||
|
||||
// paxdeposit equivalent in reverse makes opreturn and KMD does the same in reverse
|
||||
#include "komodo_defs.h"
|
||||
|
||||
int32_t pax_fiatstatus(uint64_t *available,uint64_t *deposited,uint64_t *issued,uint64_t *withdrawn,uint64_t *approved,uint64_t *redeemed,char *base)
|
||||
{
|
||||
@@ -105,7 +106,7 @@ void komodo_paxdelete(struct pax_transaction *pax)
|
||||
|
||||
void komodo_gateway_deposit(char *coinaddr,uint64_t value,char *symbol,uint64_t fiatoshis,uint8_t *rmd160,uint256 txid,uint16_t vout,uint8_t type,int32_t height,int32_t otherheight,char *source,int32_t approved) // assetchain context
|
||||
{
|
||||
struct pax_transaction *pax; uint8_t buf[35]; int32_t addflag = 0; struct komodo_state *sp; char str[16],dest[16],*s;
|
||||
struct pax_transaction *pax; uint8_t buf[35]; int32_t addflag = 0; struct komodo_state *sp; char str[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN],*s;
|
||||
//if ( KOMODO_PAX == 0 )
|
||||
// return;
|
||||
//if ( strcmp(symbol,ASSETCHAINS_SYMBOL) != 0 )
|
||||
@@ -197,7 +198,7 @@ int32_t komodo_rwapproval(int32_t rwflag,uint8_t *opretbuf,struct pax_transactio
|
||||
|
||||
int32_t komodo_issued_opreturn(char *base,uint256 *txids,uint16_t *vouts,int64_t *values,int64_t *srcvalues,int32_t *kmdheights,int32_t *otherheights,int8_t *baseids,uint8_t *rmd160s,uint8_t *opretbuf,int32_t opretlen,int32_t iskomodo)
|
||||
{
|
||||
struct pax_transaction p,*pax; int32_t i,n=0,j,len=0,incr,height,otherheight; uint8_t type,rmd160[20]; uint64_t fiatoshis; char symbol[16];
|
||||
struct pax_transaction p,*pax; int32_t i,n=0,j,len=0,incr,height,otherheight; uint8_t type,rmd160[20]; uint64_t fiatoshis; char symbol[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
//if ( KOMODO_PAX == 0 )
|
||||
// return(0);
|
||||
incr = 34 + (iskomodo * (2*sizeof(fiatoshis) + 2*sizeof(height) + 20 + 4));
|
||||
@@ -290,7 +291,7 @@ int32_t komodo_paxcmp(char *symbol,int32_t kmdheight,uint64_t value,uint64_t che
|
||||
|
||||
uint64_t komodo_paxtotal()
|
||||
{
|
||||
struct pax_transaction *pax,*pax2,*tmp,*tmp2; char symbol[16],dest[16],*str; int32_t i,ht; int64_t checktoshis; uint64_t seed,total = 0; struct komodo_state *basesp;
|
||||
struct pax_transaction *pax,*pax2,*tmp,*tmp2; char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN],*str; int32_t i,ht; int64_t checktoshis; uint64_t seed,total = 0; struct komodo_state *basesp;
|
||||
if ( KOMODO_PASSPORT_INITDONE == 0 ) //KOMODO_PAX == 0 ||
|
||||
return(0);
|
||||
if ( komodo_isrealtime(&ht) == 0 )
|
||||
@@ -464,7 +465,7 @@ int32_t komodo_pending_withdraws(char *opretstr) // todo: enforce deterministic
|
||||
|
||||
int32_t komodo_gateway_deposits(CMutableTransaction *txNew,char *base,int32_t tokomodo)
|
||||
{
|
||||
struct pax_transaction *pax,*tmp; char symbol[16],dest[16]; uint8_t *script,opcode,opret[16384],data[16384]; int32_t i,baseid,ht,len=0,opretlen=0,numvouts=1; struct komodo_state *sp; uint64_t available,deposited,issued,withdrawn,approved,redeemed,mask,sum = 0;
|
||||
struct pax_transaction *pax,*tmp; char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; uint8_t *script,opcode,opret[16384],data[16384]; int32_t i,baseid,ht,len=0,opretlen=0,numvouts=1; struct komodo_state *sp; uint64_t available,deposited,issued,withdrawn,approved,redeemed,mask,sum = 0;
|
||||
if ( KOMODO_PASSPORT_INITDONE == 0 )//KOMODO_PAX == 0 ||
|
||||
return(0);
|
||||
struct komodo_state *kmdsp = komodo_stateptrget((char *)"KMD");
|
||||
@@ -652,7 +653,7 @@ void komodo_passport_iteration();
|
||||
int32_t komodo_check_deposit(int32_t height,const CBlock& block) // verify above block is valid pax pricing
|
||||
{
|
||||
static uint256 array[64]; static int32_t numbanned,indallvouts;
|
||||
int32_t i,j,k,n,ht,baseid,txn_count,activation,num,opretlen,offset=1,errs=0,matched=0,kmdheights[256],otherheights[256]; uint256 hash,txids[256]; char symbol[16],base[16]; uint16_t vouts[256]; int8_t baseids[256]; uint8_t *script,opcode,rmd160s[256*20]; uint64_t total,available,deposited,issued,withdrawn,approved,redeemed,checktoshis,seed; int64_t values[256],srcvalues[256]; struct pax_transaction *pax; struct komodo_state *sp;
|
||||
int32_t i,j,k,n,ht,baseid,txn_count,activation,num,opretlen,offset=1,errs=0,matched=0,kmdheights[256],otherheights[256]; uint256 hash,txids[256]; char symbol[KOMODO_ASSETCHAIN_MAXLEN],base[KOMODO_ASSETCHAIN_MAXLEN]; uint16_t vouts[256]; int8_t baseids[256]; uint8_t *script,opcode,rmd160s[256*20]; uint64_t total,available,deposited,issued,withdrawn,approved,redeemed,checktoshis,seed; int64_t values[256],srcvalues[256]; struct pax_transaction *pax; struct komodo_state *sp;
|
||||
activation = 235300;
|
||||
if ( *(int32_t *)&array[0] == 0 )
|
||||
numbanned = komodo_bannedset(&indallvouts,array,(int32_t)(sizeof(array)/sizeof(*array)));
|
||||
@@ -1626,7 +1627,7 @@ void komodo_passport_iteration()
|
||||
{
|
||||
static long lastpos[34]; static char userpass[33][1024]; static uint32_t lasttime,callcounter;
|
||||
int32_t maxseconds = 10;
|
||||
FILE *fp; uint8_t *filedata; long fpos,datalen,lastfpos; int32_t baseid,limit,n,ht,isrealtime,expired,refid,blocks,longest; struct komodo_state *sp,*refsp; char *retstr,fname[512],*base,symbol[16],dest[16]; uint32_t buf[3],starttime; cJSON *infoobj,*result; uint64_t RTmask = 0;
|
||||
FILE *fp; uint8_t *filedata; long fpos,datalen,lastfpos; int32_t baseid,limit,n,ht,isrealtime,expired,refid,blocks,longest; struct komodo_state *sp,*refsp; char *retstr,fname[512],*base,symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; uint32_t buf[3],starttime; cJSON *infoobj,*result; uint64_t RTmask = 0;
|
||||
expired = 0;
|
||||
while ( KOMODO_INITDONE == 0 )
|
||||
{
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
void komodo_stateupdate(int32_t height,uint8_t notarypubs[][33],uint8_t numnotaries,uint8_t notaryid,uint256 txhash,uint64_t voutmask,uint8_t numvouts,uint32_t *pvals,uint8_t numpvals,int32_t kheight,uint32_t ktime,uint64_t opretvalue,uint8_t *opretbuf,uint16_t opretlen,uint16_t vout);
|
||||
void komodo_init(int32_t height);
|
||||
int32_t komodo_notarizeddata(int32_t nHeight,uint256 *notarized_hashp,uint256 *notarized_desttxidp);
|
||||
@@ -30,6 +32,7 @@ pthread_mutex_t komodo_mutex;
|
||||
|
||||
#define KOMODO_ELECTION_GAP 2000 //((ASSETCHAINS_SYMBOL[0] == 0) ? 2000 : 100)
|
||||
#define IGUANA_MAXSCRIPTSIZE 10001
|
||||
#define KOMODO_ASSETCHAIN_MAXLEN 65
|
||||
|
||||
struct pax_transaction *PAX;
|
||||
int32_t NUM_PRICES; uint32_t *PVALS;
|
||||
@@ -41,11 +44,11 @@ struct komodo_state KOMODO_STATES[34];
|
||||
int COINBASE_MATURITY = _COINBASE_MATURITY;//100;
|
||||
|
||||
int32_t IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAINS_SEED,KOMODO_ON_DEMAND,KOMODO_EXTERNAL_NOTARIES,KOMODO_PASSPORT_INITDONE,KOMODO_PAX,KOMODO_EXCHANGEWALLET,KOMODO_REWIND;
|
||||
int32_t KOMODO_LASTMINED,prevKOMODO_LASTMINED;
|
||||
int32_t KOMODO_LASTMINED,prevKOMODO_LASTMINED,JUMBLR_PAUSE;
|
||||
std::string NOTARY_PUBKEY,ASSETCHAINS_NOTARIES;
|
||||
uint8_t NOTARY_PUBKEY33[33];
|
||||
|
||||
char ASSETCHAINS_SYMBOL[16];
|
||||
char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
uint16_t ASSETCHAINS_PORT;
|
||||
uint32_t ASSETCHAIN_INIT;
|
||||
uint32_t ASSETCHAINS_MAGIC = 2387029918;
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#define SATOSHIDEN ((uint64_t)100000000L)
|
||||
#define dstr(x) ((double)(x) / SATOSHIDEN)
|
||||
|
||||
@@ -80,7 +82,7 @@ uint64_t komodo_moneysupply(int32_t height)
|
||||
uint64_t _komodo_interestnew(uint64_t nValue,uint32_t nLockTime,uint32_t tiptime)
|
||||
{
|
||||
int32_t minutes; uint64_t interest = 0;
|
||||
if ( (minutes= (tiptime - nLockTime) / 60) >= 60 )
|
||||
if ( tiptime > nLockTime && (minutes= (tiptime - nLockTime) / 60) >= 60 )
|
||||
{
|
||||
if ( minutes > 365 * 24 * 60 )
|
||||
minutes = 365 * 24 * 60;
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
#ifdef _WIN32
|
||||
#include <wincrypt.h>
|
||||
#endif
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#define JUMBLR_ADDR "RGhxXpXSSBTBm9EvNsXnTQczthMCxHX91t"
|
||||
#define JUMBLR_BTCADDR "18RmTJe9qMech8siuhYfMtHo8RtcN1obC6"
|
||||
@@ -629,6 +630,8 @@ void jumblr_iteration()
|
||||
{
|
||||
static int32_t lastheight; static uint32_t lasttime;
|
||||
char *zaddr,*addr,*retstr,secretaddr[64]; cJSON *array; int32_t i,iter,height,counter,chosen_one,n; uint64_t smallest,medium,biggest,amount=0,total=0; double fee; struct jumblr_item *ptr,*tmp; uint16_t r,s;
|
||||
if ( JUMBLR_PAUSE != 0 )
|
||||
return;
|
||||
if ( lasttime == 0 )
|
||||
{
|
||||
if ( (retstr= jumblr_zlistaddresses()) != 0 )
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
#ifndef H_KOMODOKV_H
|
||||
#define H_KOMODOKV_H
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
int32_t komodo_kvcmp(uint8_t *refvalue,uint16_t refvaluesize,uint8_t *value,uint16_t valuesize)
|
||||
{
|
||||
if ( refvalue == 0 && value == 0 )
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#include "komodo_cJSON.h"
|
||||
|
||||
#define KOMODO_MAINNET_START 178999
|
||||
@@ -307,7 +309,7 @@ void komodo_notarized_update(struct komodo_state *sp,int32_t nHeight,int32_t not
|
||||
//struct komodo_state *komodo_stateptr(char *symbol,char *dest);
|
||||
int32_t komodo_notarized_height(uint256 *hashp,uint256 *txidp)
|
||||
{
|
||||
char symbol[16],dest[16]; struct komodo_state *sp;
|
||||
char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; struct komodo_state *sp;
|
||||
if ( (sp= komodo_stateptr(symbol,dest)) != 0 )
|
||||
{
|
||||
*hashp = sp->NOTARIZED_HASH;
|
||||
@@ -324,7 +326,7 @@ int32_t komodo_notarized_height(uint256 *hashp,uint256 *txidp)
|
||||
|
||||
int32_t komodo_notarizeddata(int32_t nHeight,uint256 *notarized_hashp,uint256 *notarized_desttxidp)
|
||||
{
|
||||
struct notarized_checkpoint *np = 0; int32_t i=0,flag = 0; char symbol[16],dest[16]; struct komodo_state *sp;
|
||||
struct notarized_checkpoint *np = 0; int32_t i=0,flag = 0; char symbol[KOMODO_ASSETCHAIN_MAXLEN],dest[KOMODO_ASSETCHAIN_MAXLEN]; struct komodo_state *sp;
|
||||
if ( (sp= komodo_stateptr(symbol,dest)) != 0 )
|
||||
{
|
||||
if ( sp->NUM_NPOINTS > 0 )
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#define USD 0
|
||||
#define EUR 1
|
||||
#define JPY 2
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
* *
|
||||
******************************************************************************/
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#include "uthash.h"
|
||||
#include "utlist.h"
|
||||
|
||||
@@ -40,6 +42,7 @@
|
||||
#define KOMODO_KVPROTECTED 1
|
||||
#define KOMODO_KVBINARY 2
|
||||
#define KOMODO_KVDURATION 1440
|
||||
#define KOMODO_ASSETCHAIN_MAXLEN 65
|
||||
|
||||
union _bits256 { uint8_t bytes[32]; uint16_t ushorts[16]; uint32_t uints[8]; uint64_t ulongs[4]; uint64_t txid; };
|
||||
typedef union _bits256 bits256;
|
||||
@@ -60,7 +63,7 @@ struct komodo_event
|
||||
uint16_t len;
|
||||
int32_t height;
|
||||
uint8_t type,reorged;
|
||||
char symbol[16];
|
||||
char symbol[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
uint8_t space[];
|
||||
};
|
||||
|
||||
@@ -71,7 +74,7 @@ struct pax_transaction
|
||||
uint64_t komodoshis,fiatoshis,validated;
|
||||
int32_t marked,height,otherheight,approved,didstats,ready;
|
||||
uint16_t vout;
|
||||
char symbol[16],source[16],coinaddr[64]; uint8_t rmd160[20],type,buf[35];
|
||||
char symbol[KOMODO_ASSETCHAIN_MAXLEN],source[KOMODO_ASSETCHAIN_MAXLEN],coinaddr[64]; uint8_t rmd160[20],type,buf[35];
|
||||
};
|
||||
|
||||
struct knotary_entry { UT_hash_handle hh; uint8_t pubkey[33],notaryid; };
|
||||
|
||||
@@ -12,6 +12,8 @@
|
||||
* Removal or modification of this copyright notice is prohibited. *
|
||||
* *
|
||||
******************************************************************************/
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include <sodium.h>
|
||||
#include <boost/date_time/posix_time/posix_time.hpp>
|
||||
@@ -1402,7 +1404,7 @@ void komodo_configfile(char *symbol,uint16_t port)
|
||||
|
||||
uint16_t komodo_userpass(char *userpass,char *symbol)
|
||||
{
|
||||
FILE *fp; uint16_t port = 0; char fname[512],username[512],password[512],confname[16];
|
||||
FILE *fp; uint16_t port = 0; char fname[512],username[512],password[512],confname[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
userpass[0] = 0;
|
||||
if ( strcmp("KMD",symbol) == 0 )
|
||||
{
|
||||
|
||||
@@ -1491,7 +1491,7 @@ bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex)
|
||||
}
|
||||
|
||||
//uint64_t komodo_moneysupply(int32_t height);
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
extern uint32_t ASSETCHAINS_MAGIC;
|
||||
extern uint64_t ASSETCHAINS_SUPPLY;
|
||||
|
||||
|
||||
@@ -106,11 +106,10 @@ void UpdateTime(CBlockHeader* pblock, const Consensus::Params& consensusParams,
|
||||
pblock->nBits = GetNextWorkRequired(pindexPrev, pblock, consensusParams);
|
||||
}
|
||||
|
||||
#define ASSETCHAINS_MINHEIGHT 128
|
||||
#define KOMODO_ELECTION_GAP 2000
|
||||
#define ROUNDROBIN_DELAY 61
|
||||
#include "komodo_defs.h"
|
||||
|
||||
extern int32_t ASSETCHAINS_SEED,IS_KOMODO_NOTARY,USE_EXTERNAL_PUBKEY,KOMODO_CHOSEN_ONE,ASSETCHAIN_INIT,KOMODO_INITDONE,KOMODO_ON_DEMAND,KOMODO_INITDONE,KOMODO_PASSPORT_INITDONE;
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
extern std::string NOTARY_PUBKEY;
|
||||
extern uint8_t NOTARY_PUBKEY33[33];
|
||||
uint32_t Mining_start,Mining_height;
|
||||
|
||||
@@ -512,10 +512,12 @@ UniValue gettxoutsetinfo(const UniValue& params, bool fHelp)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#define IGUANA_MAXSCRIPTSIZE 10001
|
||||
#define KOMODO_KVDURATION 1440
|
||||
#define KOMODO_KVBINARY 2
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
uint64_t komodo_interest(int32_t txheight,uint64_t nValue,uint32_t nLockTime,uint32_t tiptime);
|
||||
uint32_t komodo_txtime(uint256 hash);
|
||||
uint64_t komodo_paxprice(uint64_t *seedp,int32_t height,char *base,char *rel,uint64_t basevolume);
|
||||
|
||||
@@ -47,7 +47,7 @@ uint64_t komodo_interestsum();
|
||||
int32_t komodo_longestchain();
|
||||
int32_t komodo_notarized_height(uint256 *hashp,uint256 *txidp);
|
||||
int32_t komodo_whoami(char *pubkeystr,int32_t height);
|
||||
extern int32_t KOMODO_LASTMINED;
|
||||
extern int32_t KOMODO_LASTMINED,JUMBLR_PAUSE;
|
||||
extern char ASSETCHAINS_SYMBOL[];
|
||||
int32_t notarizedtxid_height(char *dest,char *txidstr,int32_t *kmdnotarized_heightp);
|
||||
#define KOMODO_VERSION "0.1.1"
|
||||
@@ -224,6 +224,26 @@ UniValue jumblr_secret(const UniValue& params, bool fHelp)
|
||||
return(result);
|
||||
}
|
||||
|
||||
UniValue jumblr_pause(const UniValue& params, bool fHelp)
|
||||
{
|
||||
int32_t retval; UniValue result(UniValue::VOBJ);
|
||||
if (fHelp )
|
||||
throw runtime_error("jumblr_pause\n");
|
||||
JUMBLR_PAUSE = 1;
|
||||
result.push_back(Pair("result", "paused"));
|
||||
return(result);
|
||||
}
|
||||
|
||||
UniValue jumblr_resume(const UniValue& params, bool fHelp)
|
||||
{
|
||||
int32_t retval; UniValue result(UniValue::VOBJ);
|
||||
if (fHelp )
|
||||
throw runtime_error("jumblr_resume\n");
|
||||
JUMBLR_PAUSE = 0;
|
||||
result.push_back(Pair("result", "resumed"));
|
||||
return(result);
|
||||
}
|
||||
|
||||
UniValue validateaddress(const UniValue& params, bool fHelp)
|
||||
{
|
||||
if (fHelp || params.size() != 1)
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include "wallet/wallet.h"
|
||||
#endif
|
||||
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#include <boost/assign/list_of.hpp>
|
||||
@@ -144,7 +146,7 @@ void TxToJSON(const CTransaction& tx, const uint256 hashBlock, UniValue& entry)
|
||||
out.push_back(Pair("value", ValueFromAmount(txout.nValue)));
|
||||
if ( pindex != 0 && tx.nLockTime != 0 && (tipindex= chainActive.Tip()) != 0 )
|
||||
{
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
interest = komodo_interest(pindex->nHeight,txout.nValue,tx.nLockTime,tipindex->nTime);
|
||||
if ( 0 && strcmp("REVS",ASSETCHAINS_SYMBOL) == 0 )
|
||||
fprintf(stderr,"TxtoJSON interest %llu %.8f (%d %llu %u %u)\n",(long long)interest,(double)interest/COIN,(int32_t)pindex->nHeight,(long long)txout.nValue,(uint32_t)tx.nLockTime,(int32_t)tipindex->nTime);
|
||||
|
||||
@@ -338,6 +338,8 @@ static const CRPCCommand vRPCCommands[] =
|
||||
{ "util", "z_validateaddress", &z_validateaddress, true }, /* uses wallet if enabled */
|
||||
{ "util", "jumblr_deposit", &jumblr_deposit, true },
|
||||
{ "util", "jumblr_secret", &jumblr_secret, true },
|
||||
{ "util", "jumblr_pause", &jumblr_pause, true },
|
||||
{ "util", "jumblr_resume", &jumblr_resume, true },
|
||||
|
||||
/* Not shown in help */
|
||||
{ "hidden", "invalidateblock", &invalidateblock, true },
|
||||
|
||||
@@ -248,6 +248,8 @@ extern UniValue zc_sample_joinsplit(const UniValue& params, bool fHelp);
|
||||
|
||||
extern UniValue jumblr_deposit(const UniValue& params, bool fHelp);
|
||||
extern UniValue jumblr_secret(const UniValue& params, bool fHelp);
|
||||
extern UniValue jumblr_pause(const UniValue& params, bool fHelp);
|
||||
extern UniValue jumblr_resume(const UniValue& params, bool fHelp);
|
||||
|
||||
extern UniValue getrawtransaction(const UniValue& params, bool fHelp); // in rcprawtransaction.cpp
|
||||
extern UniValue listunspent(const UniValue& params, bool fHelp);
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#include "sync.h"
|
||||
#include "utilstrencodings.h"
|
||||
#include "utiltime.h"
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
@@ -441,13 +442,13 @@ void PrintExceptionContinue(const std::exception* pex, const char* pszThread)
|
||||
strMiscWarning = message;
|
||||
}
|
||||
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
//int64_t MAX_MONEY = 200000000 * 100000000LL;
|
||||
|
||||
boost::filesystem::path GetDefaultDataDir()
|
||||
{
|
||||
namespace fs = boost::filesystem;
|
||||
char symbol[16];
|
||||
char symbol[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
if ( ASSETCHAINS_SYMBOL[0] != 0 )
|
||||
strcpy(symbol,ASSETCHAINS_SYMBOL);
|
||||
else symbol[0] = 0;
|
||||
|
||||
@@ -471,6 +471,7 @@ UniValue sendtoaddress(const UniValue& params, bool fHelp)
|
||||
|
||||
return wtx.GetHash().GetHex();
|
||||
}
|
||||
#include "komodo_defs.h"
|
||||
|
||||
#define KOMODO_KVPROTECTED 1
|
||||
#define KOMODO_KVBINARY 2
|
||||
@@ -479,7 +480,7 @@ UniValue sendtoaddress(const UniValue& params, bool fHelp)
|
||||
uint64_t PAX_fiatdest(uint64_t *seedp,int32_t tokomodo,char *destaddr,uint8_t pubkey37[37],char *coinaddr,int32_t height,char *base,int64_t fiatoshis);
|
||||
int32_t komodo_opreturnscript(uint8_t *script,uint8_t type,uint8_t *opret,int32_t opretlen);
|
||||
#define CRYPTO777_KMDADDR "RXL3YXG2ceaB6C5hfJcN4fvmLH2C34knhA"
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
extern int32_t KOMODO_PAX;
|
||||
int32_t komodo_is_issuer();
|
||||
int32_t iguana_rwnum(int32_t rwflag,uint8_t *serialized,int32_t len,void *endianedp);
|
||||
|
||||
@@ -37,8 +37,10 @@ unsigned int nTxConfirmTarget = DEFAULT_TX_CONFIRM_TARGET;
|
||||
bool bSpendZeroConfChange = true;
|
||||
bool fSendFreeTransactions = false;
|
||||
bool fPayAtLeastCustomFee = true;
|
||||
#include "komodo_defs.h"
|
||||
|
||||
extern int32_t KOMODO_EXCHANGEWALLET;
|
||||
extern char ASSETCHAINS_SYMBOL[16];
|
||||
extern char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
|
||||
/**
|
||||
* Fees smaller than this (in satoshi) are considered zero fee (for transaction creation)
|
||||
|
||||
@@ -6,7 +6,8 @@
|
||||
#include "primitives/transaction.h"
|
||||
#include "zcash/JoinSplit.hpp"
|
||||
#include "libsnark/common/profiling.hpp"
|
||||
char ASSETCHAINS_SYMBOL[16];
|
||||
#include "komodo_defs.h"
|
||||
char ASSETCHAINS_SYMBOL[KOMODO_ASSETCHAIN_MAXLEN];
|
||||
int64_t MAX_MONEY = 200000000 * 100000000LL;
|
||||
uint16_t BITCOIND_PORT = 7771;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user