mirror of
https://github.com/transatoshi-mw/grin-web-wallet.git
synced 2025-10-07 00:02:47 +00:00
contents of zip
This commit is contained in:
132
scripts/initial_heights_obtained.js
Executable file
132
scripts/initial_heights_obtained.js
Executable file
@@ -0,0 +1,132 @@
|
||||
// Use strict
|
||||
"use strict";
|
||||
|
||||
|
||||
// Classes
|
||||
|
||||
// Initial heights obtained class
|
||||
class InitialHeightsObtained {
|
||||
|
||||
// Public
|
||||
|
||||
// Constructor
|
||||
constructor(node) {
|
||||
|
||||
// Create database
|
||||
Database.createDatabase(function(database, currentVersion, databaseTransaction) {
|
||||
|
||||
// Create or get initial heights obtained object store
|
||||
var initialHeightsObtainedObjectStore = (currentVersion === Database.NO_CURRENT_VERSION) ? database.createObjectStore(InitialHeightsObtained.OBJECT_STORE_NAME, {
|
||||
|
||||
// Key path
|
||||
"keyPath": [
|
||||
|
||||
// Wallet type
|
||||
Database.toKeyPath(InitialHeightsObtained.DATABASE_WALLET_TYPE_NAME),
|
||||
|
||||
// Network type
|
||||
Database.toKeyPath(InitialHeightsObtained.DATABASE_NETWORK_TYPE_NAME)
|
||||
]
|
||||
|
||||
}) : databaseTransaction.objectStore(InitialHeightsObtained.OBJECT_STORE_NAME);
|
||||
});
|
||||
}
|
||||
|
||||
// Get obtained
|
||||
getObtained() {
|
||||
|
||||
// Return promise
|
||||
return new Promise(function(resolve, reject) {
|
||||
|
||||
// Return getting the initial heights obtained with the wallet type and network type in the database
|
||||
return Database.getResults(InitialHeightsObtained.OBJECT_STORE_NAME, 0, 1, Database.NO_INDEX, IDBKeyRange.only([
|
||||
|
||||
// Wallet type
|
||||
Consensus.getWalletType(),
|
||||
|
||||
// Network type
|
||||
Consensus.getNetworkType(),
|
||||
|
||||
])).then(function(results) {
|
||||
|
||||
// Check if initial heights were obtained
|
||||
if(results["length"] !== 0) {
|
||||
|
||||
// Resolve true
|
||||
resolve(true);
|
||||
}
|
||||
|
||||
// Otherwise
|
||||
else {
|
||||
|
||||
// Resolve false
|
||||
resolve(false);
|
||||
}
|
||||
|
||||
// Catch errors
|
||||
}).catch(function(error) {
|
||||
|
||||
// Reject error
|
||||
reject("The database failed.");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Set obtained
|
||||
setObtained() {
|
||||
|
||||
// Return promise
|
||||
return new Promise(function(resolve, reject) {
|
||||
|
||||
// Save initial heights obtained for the wallet type and network type in the database
|
||||
Database.saveResults(InitialHeightsObtained.OBJECT_STORE_NAME, [{
|
||||
|
||||
// Wallet type
|
||||
[Database.toKeyPath(InitialHeightsObtained.DATABASE_WALLET_TYPE_NAME)]: Consensus.getWalletType(),
|
||||
|
||||
// Network type
|
||||
[Database.toKeyPath(InitialHeightsObtained.DATABASE_NETWORK_TYPE_NAME)]: Consensus.getNetworkType()
|
||||
|
||||
}], [], Database.CREATE_NEW_TRANSACTION, Database.STRICT_DURABILITY).then(function() {
|
||||
|
||||
// Resolve
|
||||
resolve();
|
||||
|
||||
// Catch errors
|
||||
}).catch(function(error) {
|
||||
|
||||
// Reject error
|
||||
reject("The database failed.");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
// Object store name
|
||||
static get OBJECT_STORE_NAME() {
|
||||
|
||||
// Return object store name
|
||||
return "Initial Heights Obtained";
|
||||
}
|
||||
|
||||
// Database wallet type name
|
||||
static get DATABASE_WALLET_TYPE_NAME() {
|
||||
|
||||
// Return database wallet type name
|
||||
return "Wallet Type";
|
||||
}
|
||||
|
||||
// Database network type name
|
||||
static get DATABASE_NETWORK_TYPE_NAME() {
|
||||
|
||||
// Return database network type name
|
||||
return "Network Type";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Main function
|
||||
|
||||
// Set global object's initial heights obtained
|
||||
globalThis["InitialHeightsObtained"] = InitialHeightsObtained;
|
Reference in New Issue
Block a user