Esempio n. 1
0
script_type build_script_hash_script(const short_hash& script_hash)
{
    script_type result;
    result.push_operation({opcode::hash160, data_chunk()});
    result.push_operation({opcode::special,
        data_chunk(script_hash.begin(), script_hash.end())});
    result.push_operation({opcode::equal, data_chunk()});
    return result;
}
Esempio n. 2
0
bool unwrap(uint8_t& version, short_hash& hash, uint32_t& checksum,
    data_slice wrapped)
{
    data_chunk payload;
    auto result = unwrap(version, payload, checksum, wrapped) && 
        (payload.size() == hash.size());
    if (result)
        std::copy_n(payload.begin(), hash.size(), hash.begin());
    return result;
}
Esempio n. 3
0
script_type build_pubkey_hash_script(const short_hash& pubkey_hash)
{
    script_type result;
    result.push_operation({opcode::dup, data_chunk()});
    result.push_operation({opcode::hash160, data_chunk()});
    result.push_operation({opcode::special,
        data_chunk(pubkey_hash.begin(), pubkey_hash.end())});
    result.push_operation({opcode::equalverify, data_chunk()});
    result.push_operation({opcode::checksig, data_chunk()});
    return result;
}