MINE_NO = 0,
MINE_WATCH_ONLY = 1,
MINE_SPENDABLE = 2,
+ MINE_ALL = MINE_WATCH_ONLY | MINE_SPENDABLE
};
+typedef uint8_t isminefilter;
+
/** Signature hash types/flags */
enum
{
inline std::string ValueString(const std::vector<unsigned char>& vch)
{
if (vch.size() <= 4)
- return strprintf("%d", CBigNum(vch).getint());
+ return strprintf("%d", CBigNum(vch).getint32());
else
return HexStr(vch);
}
class CScript : public std::vector<unsigned char>
{
protected:
- CScript& push_int64(int64 n)
+ CScript& push_int64(int64_t n)
{
if (n == -1 || (n >= 1 && n <= 16))
{
return *this;
}
- CScript& push_uint64(uint64 n)
+ CScript& push_uint64(uint64_t n)
{
if (n >= 1 && n <= 16)
{
return ret;
}
+ explicit CScript(int8_t b) { operator<<(b); }
+ explicit CScript(int16_t b) { operator<<(b); }
+ explicit CScript(int32_t b) { operator<<(b); }
+ explicit CScript(int64_t b) { operator<<(b); }
- //explicit CScript(char b) is not portable. Use 'signed char' or 'unsigned char'.
- explicit CScript(signed char b) { operator<<(b); }
- explicit CScript(short b) { operator<<(b); }
- explicit CScript(int b) { operator<<(b); }
- explicit CScript(long b) { operator<<(b); }
- explicit CScript(int64 b) { operator<<(b); }
- explicit CScript(unsigned char b) { operator<<(b); }
- explicit CScript(unsigned int b) { operator<<(b); }
- explicit CScript(unsigned short b) { operator<<(b); }
- explicit CScript(unsigned long b) { operator<<(b); }
- explicit CScript(uint64 b) { operator<<(b); }
+ explicit CScript(uint8_t b) { operator<<(b); }
+ explicit CScript(uint16_t b) { operator<<(b); }
+ explicit CScript(uint32_t b) { operator<<(b); }
+ explicit CScript(uint64_t b) { operator<<(b); }
explicit CScript(opcodetype b) { operator<<(b); }
explicit CScript(const uint256& b) { operator<<(b); }
explicit CScript(const std::vector<unsigned char>& b) { operator<<(b); }
- //CScript& operator<<(char b) is not portable. Use 'signed char' or 'unsigned char'.
- CScript& operator<<(signed char b) { return push_int64(b); }
- CScript& operator<<(short b) { return push_int64(b); }
- CScript& operator<<(int b) { return push_int64(b); }
- CScript& operator<<(long b) { return push_int64(b); }
- CScript& operator<<(int64 b) { return push_int64(b); }
- CScript& operator<<(unsigned char b) { return push_uint64(b); }
- CScript& operator<<(unsigned int b) { return push_uint64(b); }
- CScript& operator<<(unsigned short b) { return push_uint64(b); }
- CScript& operator<<(unsigned long b) { return push_uint64(b); }
- CScript& operator<<(uint64 b) { return push_uint64(b); }
+ CScript& operator<<(int8_t b) { return push_int64(b); }
+ CScript& operator<<(int16_t b) { return push_int64(b); }
+ CScript& operator<<(int32_t b) { return push_int64(b); }
+ CScript& operator<<(int64_t b) { return push_int64(b); }
+
+ CScript& operator<<(uint8_t b) { return push_uint64(b); }
+ CScript& operator<<(uint16_t b) { return push_uint64(b); }
+ CScript& operator<<(uint32_t b) { return push_uint64(b); }
+ CScript& operator<<(uint64_t b) { return push_uint64(b); }
CScript& operator<<(opcodetype opcode)
{
return *this;
}
- CScript& operator<<(const std::vector<unsigned char>& b)
+ CScript& operator<<(const std::vector<uint8_t>& b)
{
if (b.size() < OP_PUSHDATA1)
{
- insert(end(), (unsigned char)b.size());
+ insert(end(), (uint8_t)b.size());
}
else if (b.size() <= 0xff)
{
insert(end(), OP_PUSHDATA1);
- insert(end(), (unsigned char)b.size());
+ insert(end(), (uint8_t)b.size());
}
else if (b.size() <= 0xffff)
{
insert(end(), OP_PUSHDATA2);
- unsigned short nSize = b.size();
+ uint16_t nSize = b.size();
insert(end(), (unsigned char*)&nSize, (unsigned char*)&nSize + sizeof(nSize));
}
else
{
insert(end(), OP_PUSHDATA4);
- unsigned int nSize = b.size();
+ uint32_t nSize = b.size();
insert(end(), (unsigned char*)&nSize, (unsigned char*)&nSize + sizeof(nSize));
}
insert(end(), b.begin(), b.end());
int ScriptSigArgsExpected(txnouttype t, const std::vector<std::vector<unsigned char> >& vSolutions);
bool IsStandard(const CScript& scriptPubKey, txnouttype& whichType);
isminetype IsMine(const CKeyStore& keystore, const CScript& scriptPubKey);
-isminetype IsMine(const CKeyStore& keystore, const CTxDestination &dest);
+isminetype IsMine(const CKeyStore& keystore, const CTxDestination& dest);
void ExtractAffectedKeys(const CKeyStore &keystore, const CScript& scriptPubKey, std::vector<CKeyID> &vKeys);
bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet);
bool ExtractDestinations(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<CTxDestination>& addressRet, int& nRequiredRet);