| 1117 | } |
| 1118 | |
| 1119 | static void wallet_shachain_init(struct wallet *wallet, |
| 1120 | struct wallet_shachain *chain) |
| 1121 | { |
| 1122 | struct db_stmt *stmt; |
| 1123 | |
| 1124 | assert(chain->id == 0); |
| 1125 | |
| 1126 | /* Create shachain */ |
| 1127 | shachain_init(&chain->chain); |
| 1128 | stmt = db_prepare_v2( |
| 1129 | wallet->db, |
| 1130 | SQL("INSERT INTO shachains (min_index, num_valid) VALUES (?, 0);")); |
| 1131 | db_bind_u64(stmt, chain->chain.min_index); |
| 1132 | db_exec_prepared_v2(stmt); |
| 1133 | |
| 1134 | chain->id = db_last_insert_id_v2(stmt); |
| 1135 | tal_free(stmt); |
| 1136 | } |
| 1137 | |
| 1138 | /* TODO(cdecker) Stolen from shachain, move to some appropriate location */ |
| 1139 | static unsigned int count_trailing_zeroes(uint64_t index) |