Test
This commit is contained in:
@@ -29,7 +29,6 @@ extern const char *AssetsCCaddr;
|
|||||||
extern char AssetsCChexstr[67];
|
extern char AssetsCChexstr[67];
|
||||||
|
|
||||||
// CCassetsCore
|
// CCassetsCore
|
||||||
CC *MakeAssetCond(CPubKey pk);
|
|
||||||
CTxOut MakeAssetsVout(CAmount nValue,CPubKey pk);
|
CTxOut MakeAssetsVout(CAmount nValue,CPubKey pk);
|
||||||
CScript EncodeAssetCreateOpRet(uint8_t funcid,std::vector<uint8_t> origpubkey,std::string name,std::string description);
|
CScript EncodeAssetCreateOpRet(uint8_t funcid,std::vector<uint8_t> origpubkey,std::string name,std::string description);
|
||||||
CScript EncodeAssetOpRet(uint8_t funcid,uint256 assetid,uint256 assetid2,uint64_t price,std::vector<uint8_t> origpubkey);
|
CScript EncodeAssetOpRet(uint8_t funcid,uint256 assetid,uint256 assetid2,uint64_t price,std::vector<uint8_t> origpubkey);
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
CCcustom has most of the functions that need to be extended to create a new CC contract.
|
CCcustom has most of the functions that need to be extended to create a new CC contract.
|
||||||
|
|
||||||
EVAL_CONTRACT is the naming convention and it should be added to cc/eval.h
|
EVAL_CONTRACT is the naming convention and it should be added to cc/eval.h
|
||||||
|
bool Eval::Dispatch() in cc/eval.h needs to add the validation function in the switch
|
||||||
|
|
||||||
A CC scriptPubKey can only be spent if it is properly signed and validated. By constraining the vins and vouts, it is possible to implement a variety of functionality. CC vouts have an otherwise non-standard form, but it is properly supported by the enhanced bitcoin protocol code as a "cryptoconditions" output and the same pubkey will create a different address.
|
A CC scriptPubKey can only be spent if it is properly signed and validated. By constraining the vins and vouts, it is possible to implement a variety of functionality. CC vouts have an otherwise non-standard form, but it is properly supported by the enhanced bitcoin protocol code as a "cryptoconditions" output and the same pubkey will create a different address.
|
||||||
|
|
||||||
@@ -32,6 +33,7 @@
|
|||||||
const char *AssetsCCaddr = "RGKRjeTBw4LYFotSDLT6RWzMHbhXri6BG6" ;//"RFYE2yL3KknWdHK6uNhvWacYsCUtwzjY3u";
|
const char *AssetsCCaddr = "RGKRjeTBw4LYFotSDLT6RWzMHbhXri6BG6" ;//"RFYE2yL3KknWdHK6uNhvWacYsCUtwzjY3u";
|
||||||
char AssetsCChexstr[67] = { "02adf84e0e075cf90868bd4e3d34a03420e034719649c41f371fc70d8e33aa2702" };
|
char AssetsCChexstr[67] = { "02adf84e0e075cf90868bd4e3d34a03420e034719649c41f371fc70d8e33aa2702" };
|
||||||
uint8_t AssetsCCpriv[32] = { 0x9b, 0x17, 0x66, 0xe5, 0x82, 0x66, 0xac, 0xb6, 0xba, 0x43, 0x83, 0x74, 0xf7, 0x63, 0x11, 0x3b, 0xf0, 0xf3, 0x50, 0x6f, 0xd9, 0x6b, 0x67, 0x85, 0xf9, 0x7a, 0xf0, 0x54, 0x4d, 0xb1, 0x30, 0x77 };
|
uint8_t AssetsCCpriv[32] = { 0x9b, 0x17, 0x66, 0xe5, 0x82, 0x66, 0xac, 0xb6, 0xba, 0x43, 0x83, 0x74, 0xf7, 0x63, 0x11, 0x3b, 0xf0, 0xf3, 0x50, 0x6f, 0xd9, 0x6b, 0x67, 0x85, 0xf9, 0x7a, 0xf0, 0x54, 0x4d, 0xb1, 0x30, 0x77 };
|
||||||
|
CC *MakeAssetCond(CPubKey pk);
|
||||||
|
|
||||||
CPubKey GetUnspendable(uint8_t evalcode,uint8_t *unspendablepriv)
|
CPubKey GetUnspendable(uint8_t evalcode,uint8_t *unspendablepriv)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -69,8 +69,9 @@ bool Eval::Dispatch(const CC *cond, const CTransaction &txTo, unsigned int nIn)
|
|||||||
case EVAL_IMPORTCOIN:
|
case EVAL_IMPORTCOIN:
|
||||||
return ImportCoin(vparams, txTo, nIn);
|
return ImportCoin(vparams, txTo, nIn);
|
||||||
break;
|
break;
|
||||||
default:
|
|
||||||
return ProcessCCevals(ecode,this,vparams,txTo,nIn);
|
case EVAL_ASSETS:
|
||||||
|
return ProcessAssets(this, vparams, txTo, nIn);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return Invalid("invalid-code");
|
return Invalid("invalid-code");
|
||||||
|
|||||||
@@ -266,7 +266,7 @@ typedef std::pair<uint256,MerkleBranch> TxProof;
|
|||||||
|
|
||||||
|
|
||||||
uint256 GetMerkleRoot(const std::vector<uint256>& vLeaves);
|
uint256 GetMerkleRoot(const std::vector<uint256>& vLeaves);
|
||||||
bool ProcessCCevals(uint8_t evalcode,Eval* eval, std::vector<uint8_t> paramsNull,const CTransaction &ctx, unsigned int nIn);
|
bool ProcessAssets(Eval* eval, std::vector<uint8_t> paramsNull, const CTransaction &tx, unsigned int nIn);
|
||||||
|
|
||||||
|
|
||||||
#endif /* CC_EVAL_H */
|
#endif /* CC_EVAL_H */
|
||||||
|
|||||||
Reference in New Issue
Block a user