From 12d47153575aac8786d8361a5305a05d9b18bce5 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 30 Oct 2016 10:08:41 -0300 Subject: [PATCH] test --- src/komodo_gateway.h | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/komodo_gateway.h b/src/komodo_gateway.h index 4587fb829..f8e2a20dd 100644 --- a/src/komodo_gateway.h +++ b/src/komodo_gateway.h @@ -149,14 +149,16 @@ int32_t komodo_gateway_depositremove(uint256 txid,uint16_t vout) // assetchain c int32_t komodo_check_deposit(const CBlock& block) // verify above block is valid pax pricing { - int32_t i,n,scriptlen,num,iter,matchflag; uint256 txids[64]; uint8_t shortflag; char base[16]; uint16_t vouts[64]; uint8_t *script; queue_t *Q; struct pax_transaction *ptr; struct queueitem *item; + int32_t i,n,opretlen,num,iter,matchflag,offset=1; uint256 txids[64]; uint8_t shortflag; char base[16]; uint16_t vouts[64]; uint8_t *script; queue_t *Q; struct pax_transaction *ptr; struct queueitem *item; n = block.vtx[0].vout.size(); script = (uint8_t *)block.vtx[0].vout[n-1].scriptPubKey.data(); - printf("checkdeposit n.%d [%02x] [%c] %d vs %d\n",n,script[0],script[1],script[1],'I'); - if ( n > 2 && script[0] == 0x6a && script[1] == 'I' ) + if ( n <= 2 || script[0] != 0x6a ) + return(0); + offset += komodo_scriptitemlen(&opretlen,&script[offset]); + printf("checkdeposit n.%d [%02x] [%c] %d vs %d\n",n,script[0],script[offset],script[offset],'I'); + if ( script[offset] == 'I' && opretlen < block.vtx[0].vout[n-1].scriptPubKey.size() ) { - scriptlen = block.vtx[0].vout[n-1].scriptPubKey.size(); - if ( (num= komodo_issued_opreturn(&shortflag,base,txids,vouts,script+1,scriptlen-1)) > 0 ) + if ( (num= komodo_issued_opreturn(&shortflag,base,txids,vouts,&script[offset],opretlen)) > 0 ) { for (i=1; i