MCPcopy Create free account
hub / github.com/ElementsProject/lightning / main

Function main

bitcoin/test/run-bitcoin_block_from_hex.c:158–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156 return true;
157}
158int main(int argc, const char *argv[])
159{
160 struct bitcoin_blkid prev;
161 struct sha256_double merkle;
162 struct bitcoin_txid txid, expected_txid;
163 struct bitcoin_block *b;
164
165 common_setup(argv[0]);
166 chainparams = chainparams_for_network("bitcoin");
167 b = bitcoin_block_from_hex(NULL, chainparams,
168 block, strlen(block));
169
170 assert(b);
171 assert(b->hdr.version == CPU_TO_LE32(0x6592a000));
172 bitcoin_blkid_from_hex("0000000000000f31173e973bc00e452b1fac350066df7db2adec1e3224ea5bc1", strlen("0000000000000f31173e973bc00e452b1fac350066df7db2adec1e3224ea5bc1"), &prev);
173 assert(bitcoin_blkid_eq(&prev, &b->hdr.prev_hash));
174 hex_decode("8a0ee58ded5de949325ebc99583e3ca84f96a6597465c611685413f50f0ead7e", strlen("8a0ee58ded5de949325ebc99583e3ca84f96a6597465c611685413f50f0ead7e"), &merkle, sizeof(merkle));
175 assert(sha256_double_eq(&merkle, &b->hdr.merkle_hash));
176 assert(b->hdr.timestamp == CPU_TO_LE32(1550507183));
177 assert(b->hdr.nonce == CPU_TO_LE32(1226407989));
178
179 assert(tal_count(b->tx) == 3);
180 bitcoin_txid(b->tx[0], &txid);
181 bitcoin_txid_from_hex("14d86acd2158acd1f59ab77ab251e3f5073db905a7b2aed25d3ba7780c3d790c",
182 strlen("14d86acd2158acd1f59ab77ab251e3f5073db905a7b2aed25d3ba7780c3d790c"),
183 &expected_txid);
184 assert(bitcoin_txid_eq(&txid, &expected_txid));
185
186 bitcoin_txid(b->tx[1], &txid);
187 bitcoin_txid_from_hex("c261a53121cc9841f843e2e6e0cff337e4f3c5eee788c982a0bffe771ce69919",
188 strlen("c261a53121cc9841f843e2e6e0cff337e4f3c5eee788c982a0bffe771ce69919"),
189 &expected_txid);
190 assert(bitcoin_txid_eq(&txid, &expected_txid));
191
192 bitcoin_txid(b->tx[2], &txid);
193 bitcoin_txid_from_hex("80cea306607b708a03a1854520729da884e4317b7b51f3d4a622f88176f5e034",
194 strlen("80cea306607b708a03a1854520729da884e4317b7b51f3d4a622f88176f5e034"),
195 &expected_txid);
196 assert(bitcoin_txid_eq(&txid, &expected_txid));
197
198 tal_free(b);
199 common_shutdown();
200 return 0;
201}

Callers

nothing calls this directly

Calls 9

common_setupFunction · 0.85
chainparams_for_networkFunction · 0.85
bitcoin_block_from_hexFunction · 0.85
bitcoin_blkid_from_hexFunction · 0.85
hex_decodeFunction · 0.85
bitcoin_txid_from_hexFunction · 0.85
tal_freeFunction · 0.85
common_shutdownFunction · 0.85
bitcoin_txidClass · 0.70

Tested by

no test coverage detected