| 688 | } |
| 689 | |
| 690 | static void wallet_shachain_init(struct wallet *wallet, |
| 691 | struct wallet_shachain *chain) |
| 692 | { |
| 693 | struct db_stmt *stmt; |
| 694 | |
| 695 | assert(chain->id == 0); |
| 696 | |
| 697 | /* Create shachain */ |
| 698 | shachain_init(&chain->chain); |
| 699 | stmt = db_prepare_v2( |
| 700 | wallet->db, |
| 701 | SQL("INSERT INTO shachains (min_index, num_valid) VALUES (?, 0);")); |
| 702 | db_bind_u64(stmt, 0, chain->chain.min_index); |
| 703 | db_exec_prepared_v2(stmt); |
| 704 | |
| 705 | chain->id = db_last_insert_id_v2(stmt); |
| 706 | tal_free(stmt); |
| 707 | } |
| 708 | |
| 709 | /* TODO(cdecker) Stolen from shachain, move to some appropriate location */ |
| 710 | static unsigned int count_trailing_zeroes(uint64_t index) |