From 45e8b116a44b4efbc3e1eac096e8c120e614bbf5 Mon Sep 17 00:00:00 2001 From: jl777 Date: Sun, 22 Jul 2018 02:56:22 -1100 Subject: [PATCH] Test --- src/cc/CCassets.h | 2 ++ src/cc/CCassetsCore.cpp | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/cc/CCassets.h b/src/cc/CCassets.h index 519f9e9ee..6dd8265a7 100644 --- a/src/cc/CCassets.h +++ b/src/cc/CCassets.h @@ -29,6 +29,8 @@ extern const char *AssetsCCaddr; extern char AssetsCChexstr[67]; // CCassetsCore +CC *MakeAssetCond(CPubKey pk); +CTxOut MakeAssetsVout(CAmount nValue,CPubKey pk); CScript EncodeAssetCreateOpRet(uint8_t funcid,std::vector origpubkey,std::string name,std::string description); CScript EncodeAssetOpRet(uint8_t funcid,uint256 assetid,uint256 assetid2,uint64_t price,std::vector origpubkey); uint8_t DecodeAssetOpRet(const CScript &scriptPubKey,uint256 &assetid,uint256 &assetid2,uint64_t &price,std::vector &origpubkey); diff --git a/src/cc/CCassetsCore.cpp b/src/cc/CCassetsCore.cpp index d0a4856a5..b6b2edb2c 100644 --- a/src/cc/CCassetsCore.cpp +++ b/src/cc/CCassetsCore.cpp @@ -15,6 +15,24 @@ #include "CCassets.h" +CC *MakeAssetCond(CPubKey pk) +{ + std::vector pks; uint8_t evalcode = EVAL_ASSETS; + pks.push_back(CCNewSecp256k1(pk)); + CC *assetCC = CCNewEval(E_MARSHAL(ss << evalcode)); + CC *Sig = CCNewThreshold(1, pks); + return CCNewThreshold(2, {assetCC, Sig}); +} + +CTxOut MakeAssetsVout(CAmount nValue,CPubKey pk) +{ + CTxOut vout; + CC *payoutCond = MakeAssetCond(pk); + vout = CTxOut(nValue,CCPubKey(payoutCond)); + cc_free(payoutCond); + return(vout); +} + CScript EncodeAssetCreateOpRet(uint8_t funcid,std::vector origpubkey,std::string name,std::string description) { CScript opret; uint8_t evalcode = EVAL_ASSETS;