| 1131 | } |
| 1132 | |
| 1133 | static void wallet_shachain_init(struct wallet *wallet, |
| 1134 | struct wallet_shachain *chain) |
| 1135 | { |
| 1136 | struct db_stmt *stmt; |
| 1137 | |
| 1138 | assert(chain->id == 0); |
| 1139 | |
| 1140 | /* Create shachain */ |
| 1141 | shachain_init(&chain->chain); |
| 1142 | stmt = db_prepare_v2( |
| 1143 | wallet->db, |
| 1144 | SQL("INSERT INTO shachains (min_index, num_valid) VALUES (?, 0);")); |
| 1145 | db_bind_u64(stmt, chain->chain.min_index); |
| 1146 | db_exec_prepared_v2(stmt); |
| 1147 | |
| 1148 | chain->id = db_last_insert_id_v2(stmt); |
| 1149 | tal_free(stmt); |
| 1150 | } |
| 1151 | |
| 1152 | /* TODO(cdecker) Stolen from shachain, move to some appropriate location */ |
| 1153 | static unsigned int count_trailing_zeroes(uint64_t index) |