Skip to content

Commit 7dc48b1

Browse files
Merge pull request #1691 from mintlayer/fix/scanner-utxo-unlocking-time
fix scanner time of utxo unlocking
2 parents 3f5a870 + a51c45a commit 7dc48b1

File tree

26 files changed

+166
-156
lines changed

26 files changed

+166
-156
lines changed

api-server/api-server-common/src/storage/impls/in_memory/transactional/write.rs

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,6 @@ use super::ApiServerInMemoryStorageTransactionalRw;
3535

3636
#[async_trait::async_trait]
3737
impl<'t> ApiServerStorageWrite for ApiServerInMemoryStorageTransactionalRw<'t> {
38-
async fn initialize_storage(
39-
&mut self,
40-
chain_config: &ChainConfig,
41-
) -> Result<(), ApiServerStorageError> {
42-
self.transaction.initialize_storage(chain_config)
43-
}
44-
4538
async fn reinitialize_storage(
4639
&mut self,
4740
chain_config: &ChainConfig,

api-server/api-server-common/src/storage/impls/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
// See the License for the specific language governing permissions and
1414
// limitations under the License.
1515

16-
pub const CURRENT_STORAGE_VERSION: u32 = 7;
16+
pub const CURRENT_STORAGE_VERSION: u32 = 8;
1717

1818
pub mod in_memory;
1919
pub mod postgres;

api-server/api-server-common/src/storage/impls/postgres/queries.rs

Lines changed: 105 additions & 95 deletions
Large diffs are not rendered by default.

api-server/api-server-common/src/storage/impls/postgres/transactional/write.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,6 @@ use super::{ApiServerPostgresTransactionalRw, CONN_ERR};
3838

3939
#[async_trait::async_trait]
4040
impl<'a> ApiServerStorageWrite for ApiServerPostgresTransactionalRw<'a> {
41-
async fn initialize_storage(
42-
&mut self,
43-
chain_config: &ChainConfig,
44-
) -> Result<(), ApiServerStorageError> {
45-
let mut conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
46-
conn.initialize_database(chain_config).await?;
47-
48-
Ok(())
49-
}
50-
5141
async fn reinitialize_storage(
5242
&mut self,
5343
chain_config: &ChainConfig,

api-server/api-server-common/src/storage/storage_api/mod.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -454,11 +454,6 @@ pub trait ApiServerStorageRead: Sync {
454454

455455
#[async_trait::async_trait]
456456
pub trait ApiServerStorageWrite: ApiServerStorageRead {
457-
async fn initialize_storage(
458-
&mut self,
459-
chain_config: &ChainConfig,
460-
) -> Result<(), ApiServerStorageError>;
461-
462457
async fn reinitialize_storage(
463458
&mut self,
464459
chain_config: &ChainConfig,

api-server/scanner-daemon/src/main.rs

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ pub async fn run<S: ApiServerStorage>(
7171
.unwrap_or_else(|e| panic!("Storage initialization checking failed {}", e))
7272
{
7373
db_tx
74-
.initialize_storage(chain_config)
74+
.reinitialize_storage(chain_config)
7575
.await
7676
.unwrap_or_else(|e| panic!("Storage initialization failed {}", e));
7777

@@ -98,13 +98,23 @@ pub async fn run<S: ApiServerStorage>(
9898
.reinitialize_storage(chain_config)
9999
.await
100100
.unwrap_or_else(|e| panic!("Storage re-initialization failed {}", e));
101+
db_tx
102+
.commit()
103+
.await
104+
.unwrap_or_else(|e| panic!("Storage initialization commit failed {}", e));
105+
let mut local_block = BlockchainState::new(Arc::clone(chain_config), storage);
106+
local_block
107+
.scan_genesis(chain_config.genesis_block().as_ref())
108+
.await
109+
.expect("Can't scan genesis");
110+
local_block
111+
} else {
112+
db_tx
113+
.commit()
114+
.await
115+
.unwrap_or_else(|e| panic!("Storage initialization commit failed {}", e));
116+
BlockchainState::new(Arc::clone(chain_config), storage)
101117
}
102-
103-
db_tx
104-
.commit()
105-
.await
106-
.unwrap_or_else(|e| panic!("Storage initialization commit failed {}", e));
107-
BlockchainState::new(Arc::clone(chain_config), storage)
108118
}
109119
};
110120

api-server/scanner-lib/src/sync/tests.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ async fn compare_pool_rewards_with_chainstate_real_state(#[case] seed: Seed) {
333333
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
334334

335335
let mut db_tx = storage.transaction_rw().await.unwrap();
336-
db_tx.initialize_storage(&chain_config).await.unwrap();
336+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
337337
db_tx.commit().await.unwrap();
338338

339339
storage
@@ -616,7 +616,7 @@ async fn reorg_locked_balance(#[case] seed: Seed) {
616616
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
617617

618618
let mut db_tx = storage.transaction_rw().await.unwrap();
619-
db_tx.initialize_storage(&chain_config).await.unwrap();
619+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
620620
db_tx.commit().await.unwrap();
621621

622622
storage

api-server/stack-test-suite/tests/v2/address.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ async fn multiple_outputs_to_single_address(#[case] seed: Seed) {
247247
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
248248

249249
let mut db_tx = storage.transaction_rw().await.unwrap();
250-
db_tx.initialize_storage(&chain_config).await.unwrap();
250+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
251251
db_tx.commit().await.unwrap();
252252

253253
storage
@@ -490,7 +490,7 @@ async fn test_unlocking_for_locked_utxos(#[case] seed: Seed) {
490490
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
491491

492492
let mut db_tx = storage.transaction_rw().await.unwrap();
493-
db_tx.initialize_storage(&chain_config).await.unwrap();
493+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
494494
db_tx.commit().await.unwrap();
495495

496496
storage
@@ -713,7 +713,7 @@ async fn ok(#[case] seed: Seed) {
713713
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
714714

715715
let mut db_tx = storage.transaction_rw().await.unwrap();
716-
db_tx.initialize_storage(&chain_config).await.unwrap();
716+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
717717
db_tx.commit().await.unwrap();
718718

719719
storage

api-server/stack-test-suite/tests/v2/address_all_utxos.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ async fn multiple_utxos_to_single_address(#[case] seed: Seed) {
261261
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
262262

263263
let mut db_tx = storage.transaction_rw().await.unwrap();
264-
db_tx.initialize_storage(&chain_config).await.unwrap();
264+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
265265
db_tx.commit().await.unwrap();
266266

267267
storage
@@ -521,7 +521,7 @@ async fn ok(#[case] seed: Seed) {
521521
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
522522

523523
let mut db_tx = storage.transaction_rw().await.unwrap();
524-
db_tx.initialize_storage(&chain_config).await.unwrap();
524+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
525525
db_tx.commit().await.unwrap();
526526

527527
storage

api-server/stack-test-suite/tests/v2/address_delegations.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ async fn ok(#[case] seed: Seed) {
194194
let mut storage = TransactionalApiServerInMemoryStorage::new(&chain_config);
195195

196196
let mut db_tx = storage.transaction_rw().await.unwrap();
197-
db_tx.initialize_storage(&chain_config).await.unwrap();
197+
db_tx.reinitialize_storage(&chain_config).await.unwrap();
198198
db_tx.commit().await.unwrap();
199199

200200
storage

0 commit comments

Comments
 (0)