16 #include <boost/test/unit_test.hpp>
19 static std::vector<unsigned char>
22 std::vector<unsigned char> sSerialized(s.
begin(), s.
end());
47 std::vector<CPubKey> keys;
48 for (
int i = 0; i < 3; i++)
52 keys.push_back(
k.GetPubKey());
88 creationTx.
vin.resize(1);
89 creationTx.
vin[0].prevout.SetNull();
91 creationTx.
vout.resize(1);
92 creationTx.
vout[0].nValue = 1;
93 creationTx.
vout[0].scriptPubKey = scriptPubKey;
96 spendingTx.
vin.resize(1);
97 spendingTx.
vin[0].prevout.hash = creationTx.
GetHash();
98 spendingTx.
vin[0].prevout.n = 0;
99 spendingTx.
vin[0].scriptSig = scriptSig;
100 spendingTx.
vin[0].scriptWitness = witness;
101 spendingTx.
vout.resize(1);
102 spendingTx.
vout[0].nValue = 1;
160 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
161 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
164 BuildTxs(spendingTx, coins, creationTx, scriptPubKey, scriptSig, scriptWitness);
171 assert(scriptPubKey[0] == 0x00);
172 scriptPubKey[0] = 0x51;
173 BuildTxs(spendingTx, coins, creationTx, scriptPubKey, scriptSig, scriptWitness);
175 scriptPubKey[0] = 0x00;
176 BuildTxs(spendingTx, coins, creationTx, scriptPubKey, scriptSig, scriptWitness);
179 spendingTx.
vin[0].prevout.SetNull();
189 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
190 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
192 BuildTxs(spendingTx, coins, creationTx, scriptPubKey, scriptSig, scriptWitness);
203 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
204 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
205 scriptWitness.
stack.push_back(std::vector<unsigned char>(witnessScript.
begin(), witnessScript.
end()));
207 BuildTxs(spendingTx, coins, creationTx, scriptPubKey, scriptSig, scriptWitness);
220 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
221 scriptWitness.
stack.push_back(std::vector<unsigned char>(0));
222 scriptWitness.
stack.push_back(std::vector<unsigned char>(witnessScript.
begin(), witnessScript.
end()));
224 BuildTxs(spendingTx, coins, creationTx, scriptPubKey, scriptSig, scriptWitness);