2020-05-28 14:58:25 +00:00
pragma Singleton
2020-06-17 19:18:31 +00:00
import QtQuick 2.13
2020-05-28 14:58:25 +00:00
2022-04-01 08:06:39 +00:00
import StatusQ . Controls . Validators 0.1
2022-12-16 09:37:08 +00:00
import StatusQ . Core . Theme 0.1
2022-04-01 08:06:39 +00:00
2020-05-28 14:58:25 +00:00
QtObject {
2022-07-20 12:34:44 +00:00
2021-10-19 10:27:41 +00:00
readonly property QtObject appState: QtObject {
2022-07-20 12:34:44 +00:00
readonly property int startup: 0
2022-08-01 14:39:05 +00:00
readonly property int appLoading: 1
readonly property int main: 2
2023-03-29 13:26:11 +00:00
readonly property int appEncryptionProcess: 3
2022-07-20 12:34:44 +00:00
}
readonly property QtObject startupFlow: QtObject {
readonly property string general: "General"
readonly property string firstRunNewUserNewKeys: "FirstRunNewUserNewKeys"
readonly property string firstRunNewUserNewKeycardKeys: "FirstRunNewUserNewKeycardKeys"
readonly property string firstRunNewUserImportSeedPhrase: "FirstRunNewUserImportSeedPhrase"
2022-07-21 11:29:18 +00:00
readonly property string firstRunNewUserImportSeedPhraseIntoKeycard: "FirstRunNewUserImportSeedPhraseIntoKeycard"
2022-07-20 12:34:44 +00:00
readonly property string firstRunOldUserSyncCode: "FirstRunOldUserSyncCode"
readonly property string firstRunOldUserKeycardImport: "FirstRunOldUserKeycardImport"
readonly property string firstRunOldUserImportSeedPhrase: "FirstRunOldUserImportSeedPhrase"
readonly property string appLogin: "AppLogin"
2023-01-18 11:53:38 +00:00
readonly property string lostKeycardReplacement: "LostKeycardReplacement"
2023-01-26 11:52:01 +00:00
readonly property string lostKeycardConvertToRegularAccount: "LostKeycardConvertToRegularAccount"
2022-07-20 12:34:44 +00:00
}
readonly property QtObject startupState: QtObject {
readonly property string noState: "NoState"
readonly property string allowNotifications: "AllowNotifications"
readonly property string welcome: "Welcome"
readonly property string welcomeNewStatusUser: "WelcomeNewStatusUser"
readonly property string welcomeOldStatusUser: "WelcomeOldStatusUser"
2023-01-16 09:45:33 +00:00
readonly property string recoverOldUser: "RecoverOldUser"
2022-07-20 12:34:44 +00:00
readonly property string userProfileCreate: "UserProfileCreate"
readonly property string userProfileChatKey: "UserProfileChatKey"
2022-11-30 09:25:47 +00:00
readonly property string userProfileCreateSameChatKey: "UserProfileCreateSameChatKey"
2022-07-20 12:34:44 +00:00
readonly property string userProfileCreatePassword: "UserProfileCreatePassword"
readonly property string userProfileConfirmPassword: "UserProfileConfirmPassword"
readonly property string userProfileImportSeedPhrase: "UserProfileImportSeedPhrase"
readonly property string userProfileEnterSeedPhrase: "UserProfileEnterSeedPhrase"
2023-01-26 11:52:01 +00:00
readonly property string userProfileWrongSeedPhrase: "UserProfileWrongSeedPhrase"
2022-07-20 12:34:44 +00:00
readonly property string biometrics: "Biometrics"
2023-03-03 10:24:50 +00:00
readonly property string keycardNoPCSCService: "KeycardNoPCSCService"
2022-07-21 11:29:18 +00:00
readonly property string keycardPluginReader: "KeycardPluginReader"
readonly property string keycardInsertKeycard: "KeycardInsertKeycard"
2022-09-28 16:09:12 +00:00
readonly property string keycardInsertedKeycard: "KeycardInsertedKeycard"
2022-07-21 11:29:18 +00:00
readonly property string keycardReadingKeycard: "KeycardReadingKeycard"
2022-09-28 16:09:12 +00:00
readonly property string keycardRecognizedKeycard: "KeycardRecognizedKeycard"
2022-09-29 13:30:17 +00:00
readonly property string keycardWrongKeycard: "KeycardWrongKeycard"
2022-07-21 11:29:18 +00:00
readonly property string keycardCreatePin: "KeycardCreatePin"
readonly property string keycardRepeatPin: "KeycardRepeatPin"
readonly property string keycardPinSet: "KeycardPinSet"
readonly property string keycardEnterPin: "KeycardEnterPin"
readonly property string keycardWrongPin: "KeycardWrongPin"
readonly property string keycardEnterPuk: "KeycardEnterPuk"
readonly property string keycardWrongPuk: "KeycardWrongPuk"
readonly property string keycardDisplaySeedPhrase: "KeycardDisplaySeedPhrase"
readonly property string keycardEnterSeedPhraseWords: "KeycardEnterSeedPhraseWords"
readonly property string keycardNotEmpty: "KeycardNotEmpty"
2022-09-28 16:09:12 +00:00
readonly property string keycardNotKeycard: "KeycardNotKeycard"
2022-07-21 11:29:18 +00:00
readonly property string keycardEmpty: "KeycardEmpty"
readonly property string keycardLocked: "KeycardLocked"
readonly property string keycardRecover: "KeycardRecover"
readonly property string keycardMaxPairingSlotsReached: "KeycardMaxPairingSlotsReached"
readonly property string keycardMaxPinRetriesReached: "KeycardMaxPinRetriesReached"
readonly property string keycardMaxPukRetriesReached: "KeycardMaxPukRetriesReached"
2022-07-20 12:34:44 +00:00
readonly property string login: "Login"
2023-03-03 10:24:50 +00:00
readonly property string loginNoPCSCService: "LoginNoPCSCService"
2022-09-13 09:55:19 +00:00
readonly property string loginPlugin: "LoginPlugin"
2022-07-21 11:29:18 +00:00
readonly property string loginKeycardInsertKeycard: "LoginKeycardInsertKeycard"
2022-09-30 19:16:15 +00:00
readonly property string loginKeycardInsertedKeycard: "LoginKeycardInsertedKeycard"
2022-07-21 11:29:18 +00:00
readonly property string loginKeycardReadingKeycard: "LoginKeycardReadingKeycard"
2022-09-30 19:16:15 +00:00
readonly property string loginKeycardRecognizedKeycard: "LoginKeycardRecognizedKeycard"
2022-07-21 11:29:18 +00:00
readonly property string loginKeycardEnterPin: "LoginKeycardEnterPin"
2022-09-30 19:16:15 +00:00
readonly property string loginKeycardEnterPassword: "LoginKeycardEnterPassword"
readonly property string loginKeycardPinVerified: "LoginKeycardPinVerified"
2022-07-21 11:29:18 +00:00
readonly property string loginKeycardWrongKeycard: "LoginKeycardWrongKeycard"
readonly property string loginKeycardWrongPin: "LoginKeycardWrongPin"
readonly property string loginKeycardMaxPinRetriesReached: "LoginKeycardMaxPinRetriesReached"
readonly property string loginKeycardMaxPukRetriesReached: "LoginKeycardMaxPukRetriesReached"
2022-09-30 19:16:15 +00:00
readonly property string loginKeycardMaxPairingSlotsReached: "LoginKeycardMaxPairingSlotsReached"
2022-07-21 11:29:18 +00:00
readonly property string loginKeycardEmpty: "LoginKeycardEmpty"
2022-09-13 09:55:19 +00:00
readonly property string loginNotKeycard: "LoginNotKeycard"
2023-01-26 11:52:01 +00:00
readonly property string loginKeycardConvertedToRegularAccount: "LoginKeycardConvertedToRegularAccount"
2022-11-14 09:30:42 +00:00
readonly property string profileFetching: "ProfileFetching"
2022-11-30 09:19:59 +00:00
readonly property string profileFetchingSuccess: "ProfileFetchingSuccess"
readonly property string profileFetchingTimeout: "ProfileFetchingTimeout"
2022-11-30 09:25:47 +00:00
readonly property string profileFetchingAnnouncement: "ProfileFetchingAnnouncement"
2023-01-18 11:53:38 +00:00
readonly property string lostKeycardOptions: "LostKeycardOptions"
2023-03-14 02:52:16 +00:00
readonly property string syncDeviceWithSyncCode: "SyncDeviceWithSyncCode"
readonly property string syncDeviceResult: "SyncDeviceResult"
2022-07-21 11:29:18 +00:00
}
2022-08-31 17:09:07 +00:00
readonly property QtObject predefinedKeycardData: QtObject {
readonly property int wronglyInsertedCard: 1
readonly property int hideKeyPair: 2
readonly property int wrongSeedPhrase: 4
2022-09-20 14:01:57 +00:00
readonly property int wrongPassword: 8
readonly property int offerPukForUnlock: 16
2022-12-16 09:37:08 +00:00
readonly property int disableSeedPhraseForUnlock: 32
2022-09-21 13:11:39 +00:00
readonly property int useGeneralMessageForLockedState: 64
2022-09-29 13:30:17 +00:00
readonly property int maxPUKReached: 128
2022-11-18 08:16:02 +00:00
readonly property int copyFromAKeycardPartDone: 256
2023-07-27 13:35:34 +00:00
readonly property int maxPairingSlotsReached: 512
2022-08-31 17:09:07 +00:00
}
2022-08-05 13:50:54 +00:00
readonly property QtObject keycardSharedFlow: QtObject {
readonly property string general: "General"
readonly property string factoryReset: "FactoryReset"
2022-08-31 17:09:07 +00:00
readonly property string setupNewKeycard: "SetupNewKeycard"
2022-12-16 09:37:08 +00:00
readonly property string setupNewKeycardNewSeedPhrase: "SetupNewKeycardNewSeedPhrase"
2022-12-26 12:52:21 +00:00
readonly property string setupNewKeycardOldSeedPhrase: "SetupNewKeycardOldSeedPhrase"
2022-12-27 13:20:58 +00:00
readonly property string importFromKeycard: "ImportFromKeycard"
2022-09-13 10:03:25 +00:00
readonly property string authentication: "Authentication"
2022-09-20 14:01:57 +00:00
readonly property string unlockKeycard: "UnlockKeycard"
2022-09-21 13:11:39 +00:00
readonly property string displayKeycardContent: "DisplayKeycardContent"
2022-10-12 17:08:59 +00:00
readonly property string renameKeycard: "RenameKeycard"
2022-10-17 10:12:22 +00:00
readonly property string changeKeycardPin: "ChangeKeycardPin"
2022-10-17 10:44:09 +00:00
readonly property string changeKeycardPuk: "ChangeKeycardPuk"
2022-10-18 08:04:51 +00:00
readonly property string changePairingCode: "ChangePairingCode"
2022-11-18 08:16:02 +00:00
readonly property string createCopyOfAKeycard: "CreateCopyOfAKeycard"
2023-08-29 14:22:41 +00:00
readonly property string migrateFromKeycardToApp: "MigrateFromKeycardToApp"
2023-09-06 09:16:23 +00:00
readonly property string migrateFromAppToKeycard: "MigrateFromAppToKeycard"
2023-10-27 17:14:39 +00:00
readonly property string sign: "Sign"
2022-08-05 13:50:54 +00:00
}
readonly property QtObject keycardSharedState: QtObject {
2023-09-01 13:32:21 +00:00
readonly property string biometrics: "Biometrics"
2023-03-03 10:24:50 +00:00
readonly property string noPCSCService: "NoPCSCService"
2022-08-05 13:50:54 +00:00
readonly property string noState: "NoState"
readonly property string pluginReader: "PluginReader"
readonly property string readingKeycard: "ReadingKeycard"
readonly property string insertKeycard: "InsertKeycard"
2022-08-31 17:09:07 +00:00
readonly property string keycardInserted: "KeycardInserted"
readonly property string createPin: "CreatePin"
readonly property string repeatPin: "RepeatPin"
readonly property string pinSet: "PinSet"
readonly property string pinVerified: "PinVerified"
2022-08-05 13:50:54 +00:00
readonly property string enterPin: "EnterPin"
2022-08-31 17:09:07 +00:00
readonly property string wrongPin: "WrongPin"
2022-09-20 14:01:57 +00:00
readonly property string enterPuk: "EnterPuk"
readonly property string wrongPuk: "WrongPuk"
2022-09-13 10:03:25 +00:00
readonly property string wrongKeychainPin: "WrongKeychainPin"
2022-08-31 17:09:07 +00:00
readonly property string maxPinRetriesReached: "MaxPinRetriesReached"
2022-09-20 14:01:57 +00:00
readonly property string maxPukRetriesReached: "MaxPukRetriesReached"
readonly property string maxPairingSlotsReached: "MaxPairingSlotsReached"
2022-08-05 13:50:54 +00:00
readonly property string factoryResetConfirmation: "FactoryResetConfirmation"
2022-08-31 17:09:07 +00:00
readonly property string factoryResetConfirmationDisplayMetadata: "FactoryResetConfirmationDisplayMetadata"
2022-08-05 13:50:54 +00:00
readonly property string factoryResetSuccess: "FactoryResetSuccess"
2022-08-31 17:09:07 +00:00
readonly property string keycardEmptyMetadata: "KeycardEmptyMetadata"
readonly property string keycardMetadataDisplay: "KeycardMetadataDisplay"
2022-08-05 13:50:54 +00:00
readonly property string keycardEmpty: "KeycardEmpty"
2022-08-31 17:09:07 +00:00
readonly property string keycardNotEmpty: "KeycardNotEmpty"
2022-09-20 14:01:57 +00:00
readonly property string keycardAlreadyUnlocked: "KeycardAlreadyUnlocked"
2022-08-05 13:50:54 +00:00
readonly property string notKeycard: "NotKeycard"
2022-09-20 14:01:57 +00:00
readonly property string unlockKeycardOptions: "UnlockKeycardOptions"
2023-01-27 16:04:07 +00:00
readonly property string unlockingKeycard: "UnlockingKeycard"
readonly property string unlockKeycardFailure: "UnlockKeycardFailure"
2022-09-20 14:01:57 +00:00
readonly property string unlockKeycardSuccess: "UnlockKeycardSuccess"
2022-09-13 10:03:25 +00:00
readonly property string wrongKeycard: "WrongKeycard"
2022-08-05 13:50:54 +00:00
readonly property string recognizedKeycard: "RecognizedKeycard"
2022-08-31 17:09:07 +00:00
readonly property string selectExistingKeyPair: "SelectExistingKeyPair"
readonly property string enterSeedPhrase: "EnterSeedPhrase"
readonly property string wrongSeedPhrase: "WrongSeedPhrase"
2022-12-26 12:52:21 +00:00
readonly property string seedPhraseAlreadyInUse: "SeedPhraseAlreadyInUse"
2022-08-31 17:09:07 +00:00
readonly property string seedPhraseDisplay: "SeedPhraseDisplay"
readonly property string seedPhraseEnterWords: "SeedPhraseEnterWords"
readonly property string keyPairMigrateSuccess: "KeyPairMigrateSuccess"
readonly property string keyPairMigrateFailure: "KeyPairMigrateFailure"
2023-08-29 14:22:41 +00:00
readonly property string migrateKeypairToApp: "MigrateKeypairToApp"
2023-09-06 09:16:23 +00:00
readonly property string migrateKeypairToKeycard: "MigrateKeypairToKeycard"
2023-08-29 14:22:41 +00:00
readonly property string migratingKeypairToApp: "MigratingKeypairToApp"
readonly property string migratingKeypairToKeycard: "MigratingKeypairToKeycard"
2022-09-13 10:03:25 +00:00
readonly property string enterPassword: "EnterPassword"
readonly property string wrongPassword: "WrongPassword"
2023-09-01 13:32:21 +00:00
readonly property string createPassword: "CreatePassword"
readonly property string confirmPassword: "ConfirmPassword"
2022-09-13 10:03:25 +00:00
readonly property string biometricsPasswordFailed: "BiometricsPasswordFailed"
readonly property string biometricsPinFailed: "BiometricsPinFailed"
readonly property string biometricsPinInvalid: "BiometricsPinInvalid"
readonly property string biometricsReadyToSign: "BiometricsReadyToSign"
readonly property string enterBiometricsPassword: "EnterBiometricsPassword"
readonly property string wrongBiometricsPassword: "WrongBiometricsPassword"
2022-10-12 17:08:59 +00:00
readonly property string enterKeycardName: "EnterKeycardName"
readonly property string renamingKeycard: "RenamingKeycard"
readonly property string keycardRenameSuccess: "KeycardRenameSuccess"
readonly property string keycardRenameFailure: "KeycardRenameFailure"
2022-10-17 10:12:22 +00:00
readonly property string changingKeycardPin: "ChangingKeycardPin"
readonly property string changingKeycardPinSuccess: "ChangingKeycardPinSuccess"
readonly property string changingKeycardPinFailure: "ChangingKeycardPinFailure"
2022-10-17 10:44:09 +00:00
readonly property string createPuk: "CreatePuk"
readonly property string repeatPuk: "RepeatPuk"
readonly property string changingKeycardPuk: "ChangingKeycardPuk"
readonly property string changingKeycardPukSuccess: "ChangingKeycardPukSuccess"
readonly property string changingKeycardPukFailure: "ChangingKeycardPukFailure"
2022-10-18 08:04:51 +00:00
readonly property string createPairingCode: "CreatePairingCode"
readonly property string changingKeycardPairingCode: "ChangingKeycardPairingCode"
readonly property string changingKeycardPairingCodeSuccess: "ChangingKeycardPairingCodeSuccess"
readonly property string changingKeycardPairingCodeFailure: "ChangingKeycardPairingCodeFailure"
2022-11-18 08:16:02 +00:00
readonly property string removeKeycard: "RemoveKeycard"
readonly property string sameKeycard: "SameKeycard"
readonly property string copyToKeycard: "CopyToKeycard"
readonly property string copyingKeycard: "CopyingKeycard"
readonly property string copyingKeycardFailure: "CopyingKeycardFailure"
readonly property string copyingKeycardSuccess: "CopyingKeycardSuccess"
2022-12-16 09:37:08 +00:00
readonly property string manageKeycardAccounts: "ManageKeycardAccounts"
readonly property string creatingAccountNewSeedPhrase: "CreatingAccountNewSeedPhrase"
readonly property string creatingAccountNewSeedPhraseSuccess: "CreatingAccountNewSeedPhraseSuccess"
readonly property string creatingAccountNewSeedPhraseFailure: "CreatingAccountNewSeedPhraseFailure"
2022-12-26 12:52:21 +00:00
readonly property string creatingAccountOldSeedPhrase: "CreatingAccountOldSeedPhrase"
readonly property string creatingAccountOldSeedPhraseSuccess: "CreatingAccountOldSeedPhraseSuccess"
readonly property string creatingAccountOldSeedPhraseFailure: "CreatingAccountOldSeedPhraseFailure"
2022-12-27 13:20:58 +00:00
readonly property string importingFromKeycard: "ImportingFromKeycard"
readonly property string importingFromKeycardSuccess: "ImportingFromKeycardSuccess"
readonly property string importingFromKeycardFailure: "ImportingFromKeycardFailure"
2022-08-05 13:50:54 +00:00
}
2022-10-18 08:31:23 +00:00
readonly property QtObject keycardAnimations: QtObject {
readonly property QtObject cardInsert: QtObject {
readonly property string pattern: "keycard/card_insert/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 0
2023-02-17 15:27:32 +00:00
readonly property int endImgIndex: 15
2022-10-18 08:31:23 +00:00
readonly property int duration: 1000
readonly property int loops: 1
}
readonly property QtObject cardInserted: QtObject {
readonly property string pattern: "keycard/card_inserted/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 0
readonly property int endImgIndex: 29
readonly property int duration: 1000
readonly property int loops: 1
}
2022-11-18 08:16:02 +00:00
readonly property QtObject cardRemoved: QtObject {
readonly property string pattern: "keycard/card_removed/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 0
readonly property int endImgIndex: 29
readonly property int duration: 1000
readonly property int loops: 1
}
2022-10-18 08:31:23 +00:00
readonly property QtObject warning: QtObject {
readonly property string pattern: "keycard/warning/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 0
readonly property int endImgIndex: 55
readonly property int duration: 3000
readonly property int loops: 1
}
2022-11-14 10:24:16 +00:00
readonly property QtObject processing: QtObject {
readonly property string pattern: "keycard/warning/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 18
readonly property int endImgIndex: 47
readonly property int duration: 1500
readonly property int loops: - 1
}
2022-10-18 08:31:23 +00:00
readonly property QtObject strongError: QtObject {
readonly property string pattern: "keycard/strong_error/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 18
readonly property int endImgIndex: 29
readonly property int duration: 1300
readonly property int loops: - 1
}
readonly property QtObject success: QtObject {
readonly property string pattern: "keycard/success/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 0
readonly property int endImgIndex: 29
readonly property int duration: 1300
readonly property int loops: 1
}
readonly property QtObject strongSuccess: QtObject {
readonly property string pattern: "keycard/strong_success/img-%1"
readonly property int startImgIndexForTheFirstLoop: 0
readonly property int startImgIndexForOtherLoops: 0
readonly property int endImgIndex: 20
readonly property int duration: 1300
readonly property int loops: 1
}
}
2022-07-21 11:29:18 +00:00
readonly property QtObject keychain: QtObject {
readonly property QtObject errorType: QtObject {
readonly property string authentication: "authentication"
readonly property string keychain: "keychain"
}
readonly property QtObject storedValue: QtObject {
readonly property string store: "store"
readonly property string notNow: "notNow"
readonly property string never: "never"
}
2021-10-22 10:59:18 +00:00
}
2021-10-14 08:04:15 +00:00
2023-01-30 21:05:34 +00:00
readonly property int chatSectionLeftColumnWidth: 304
2021-10-19 10:27:41 +00:00
readonly property QtObject appSection: QtObject {
readonly property int chat: 0
readonly property int community: 1
readonly property int wallet: 2
2022-02-17 09:34:15 +00:00
readonly property int browser: 3
readonly property int profile: 4
readonly property int node: 5
2022-05-23 13:11:30 +00:00
readonly property int communitiesPortal: 6
2021-10-19 10:27:41 +00:00
}
2021-11-10 12:48:22 +00:00
readonly property QtObject appViewStackIndex: QtObject {
readonly property int chat: 0
readonly property int community: 7 // any stack layout children with the index 7 or higher is community
2022-05-23 13:11:30 +00:00
readonly property int communitiesPortal: 1
readonly property int wallet: 2
readonly property int browser: 3
readonly property int profile: 4
readonly property int node: 5
2021-11-10 12:48:22 +00:00
}
2022-02-25 13:32:46 +00:00
readonly property QtObject settingsSubsection: QtObject {
2023-09-22 10:08:28 +00:00
readonly property int profile: 0
2024-02-09 11:31:37 +00:00
readonly property int password: 1
readonly property int contacts: 2
readonly property int ensUsernames: 3
readonly property int messaging: 4
readonly property int wallet: 5
readonly property int appearance: 6
readonly property int language: 7
readonly property int notifications: 8
readonly property int syncingSettings: 9
readonly property int browserSettings: 10
readonly property int advanced: 11
readonly property int about: 12
readonly property int communitiesSettings: 13
readonly property int keycard: 14
readonly property int about_terms: 15 // a subpage under "About"
readonly property int about_privacy: 16 // a subpage under "About"
2023-09-22 10:08:28 +00:00
// special treatment; these do not participate in the main settings' StackLayout
2024-02-09 11:31:37 +00:00
readonly property int signout: 17
readonly property int backUpSeed: 18
2022-02-25 13:32:46 +00:00
}
2023-12-06 10:54:36 +00:00
readonly property QtObject walletSettingsSubsection: QtObject {
readonly property int manageNetworks: 0
readonly property int manageAccounts: 1
readonly property int manageAssets: 2
readonly property int manageCollectibles: 3
2024-01-24 12:02:03 +00:00
readonly property int manageHidden: 4
readonly property int manageAdvanced: 5
2023-12-06 10:54:36 +00:00
}
2022-06-10 09:01:31 +00:00
readonly property QtObject currentUserStatus: QtObject {
readonly property int unknown: 0
readonly property int automatic: 1
2021-11-30 14:49:45 +00:00
readonly property int doNotDisturb: 2
2022-06-10 09:01:31 +00:00
readonly property int alwaysOnline: 3
readonly property int inactive: 4
}
2022-08-09 14:41:23 +00:00
readonly property QtObject onboarding: QtObject {
2023-05-09 16:23:48 +00:00
readonly property int loginHeight: 370
readonly property int logoImageWidth: 128
readonly property int logoImageHeight: 128
readonly property int biometricsImageWidth: 188
readonly property int biometricsImageHeight: 185
2022-08-09 14:41:23 +00:00
readonly property int userImageWidth: 40
readonly property int userImageHeight: 40
readonly property int titleFontSize: 17
2022-11-30 09:25:47 +00:00
readonly property int fontSize1: 22
readonly property int fontSize2: 17
readonly property int fontSize3: 15
readonly property int fontSize4: 12
readonly property int loginInfoHeight1: 24
readonly property int loginInfoHeight2: 44
readonly property int loginInfoHeight3: 66
readonly property int radius: 8
2022-11-14 09:30:42 +00:00
readonly property QtObject profileFetching: QtObject {
2023-01-09 10:20:13 +00:00
readonly property int timeout: 120 * 1000 //2 mins in milliseconds
2022-11-14 09:30:42 +00:00
readonly property int titleFontSize: 22
2022-11-30 09:19:59 +00:00
readonly property int entityFontSize: 15
readonly property int entityProgressFontSize: 12
2022-11-14 09:30:42 +00:00
readonly property string imgInProgress: "onboarding/profile_fetching_in_progress"
2022-11-30 09:19:59 +00:00
readonly property QtObject entity: QtObject {
readonly property string profile: "profile"
readonly property string contacts: "contacts"
readonly property string communities: "communities"
readonly property string settings: "settings"
2023-05-18 18:28:46 +00:00
readonly property string keypairs: "keypairs"
readonly property string watchOnlyAccounts: "watchOnlyAccounts"
2022-11-30 09:19:59 +00:00
}
2022-11-14 09:30:42 +00:00
}
2022-08-09 14:41:23 +00:00
}
2022-06-10 09:01:31 +00:00
readonly property QtObject onlineStatus: QtObject {
2024-02-09 15:52:28 +00:00
readonly property int unknown: - 1
2022-06-10 09:01:31 +00:00
readonly property int inactive: 0
readonly property int online: 1
2021-11-30 14:49:45 +00:00
}
2021-12-09 12:53:40 +00:00
readonly property QtObject chatType: QtObject {
2023-01-27 15:24:00 +00:00
readonly property int category: - 1
2021-12-09 12:53:40 +00:00
readonly property int unknown: 0
readonly property int oneToOne: 1
readonly property int publicChat: 2
readonly property int privateGroupChat: 3
readonly property int profile: 4
readonly property int communityChat: 6
}
2023-06-14 16:00:41 +00:00
readonly property QtObject memberRole: QtObject {
readonly property int none: 0
readonly property int owner: 1
readonly property int manageUsers: 2
readonly property int moderateContent: 3
readonly property int admin: 4
2023-08-14 08:32:10 +00:00
readonly property int tokenMaster: 5
2023-06-14 16:00:41 +00:00
}
2023-06-08 11:01:01 +00:00
readonly property QtObject permissionType: QtObject {
readonly property int none: 0
readonly property int admin: 1
readonly property int member: 2
readonly property int read: 3
readonly property int viewAndPost: 4
}
2021-12-09 12:53:40 +00:00
readonly property QtObject messageContentType: QtObject {
2022-12-05 07:52:41 +00:00
readonly property int newMessagesMarker: - 3
2021-12-09 12:53:40 +00:00
readonly property int fetchMoreMessagesButton: - 2
readonly property int chatIdentifier: - 1
readonly property int unknownContentType: 0
readonly property int messageType: 1
readonly property int stickerType: 2
readonly property int statusType: 3
readonly property int emojiType: 4
readonly property int transactionType: 5
readonly property int systemMessagePrivateGroupType: 6
readonly property int imageType: 7
readonly property int audioType: 8
readonly property int communityInviteType: 9
readonly property int gapType: 10
2023-03-07 12:02:27 +00:00
readonly property int contactRequestType: 11
2022-09-15 07:31:38 +00:00
readonly property int discordMessageType: 12
2023-05-01 16:05:16 +00:00
readonly property int systemMessagePinnedMessage: 14
2023-07-12 21:39:56 +00:00
readonly property int systemMessageMutualEventSent: 15
readonly property int systemMessageMutualEventAccepted: 16
readonly property int systemMessageMutualEventRemoved: 17
2024-01-05 15:34:20 +00:00
readonly property int bridgeMessageType: 18
2021-12-09 12:53:40 +00:00
}
2022-10-07 14:17:24 +00:00
readonly property QtObject messageModelRoles: QtObject {
readonly property int responseToMessageWithId: 262 // ModelRole.ResponseToMessageWithId
}
2022-06-28 18:11:18 +00:00
readonly property QtObject trustStatus: QtObject {
readonly property int unknown: 0
readonly property int trusted: 1
2022-03-24 20:55:22 +00:00
readonly property int untrustworthy: 2
}
2022-06-28 18:11:18 +00:00
readonly property QtObject verificationStatus: QtObject {
readonly property int unverified: 0
readonly property int verifying: 1
readonly property int verified: 2
readonly property int declined: 3
readonly property int canceled: 4
readonly property int trusted: 5
2022-11-15 10:11:55 +00:00
readonly property int untrustworthy: 6
2022-06-28 18:11:18 +00:00
}
2022-03-24 20:55:22 +00:00
readonly property QtObject contactsPanelUsage: QtObject {
readonly property int unknownPosition: - 1
readonly property int mutualContacts: 0
readonly property int verifiedMutualContacts: 1
readonly property int sentContactRequest: 2
readonly property int receivedContactRequest: 3
readonly property int rejectedSentContactRequest: 4
readonly property int rejectedReceivedContactRequest: 5
readonly property int blockedContacts: 6
}
2023-07-13 13:58:48 +00:00
readonly property QtObject keypair: QtObject {
2024-02-08 13:59:44 +00:00
readonly property int nameLengthMax: 24
2023-07-13 13:58:48 +00:00
readonly property int nameLengthMin: 5
2023-07-17 20:06:34 +00:00
2023-08-04 10:29:04 +00:00
readonly property QtObject type: QtObject {
readonly property int unknown: - 1
readonly property int profile: 0
readonly property int seedImport: 1
readonly property int privateKeyImport: 2
readonly property int watchOnly: 3 // added just because of UI, impossible to have watch only keypair
}
2023-07-17 20:06:34 +00:00
readonly property QtObject operability: QtObject {
readonly property string nonOperable: "no" // an account is non operable it is not a keycard account and there is no keystore file for it and no keystore file for the address it is derived from
readonly property string partiallyOperable: "partially" // an account is partially operable if it is not a keycard account and there is created keystore file for the address it is derived from
readonly property string fullyOperable: "fully" // an account is fully operable if it is not a keycard account and there is a keystore file for it
}
2023-08-04 10:29:04 +00:00
readonly property QtObject syncedFrom: QtObject {
2023-08-09 10:41:55 +00:00
readonly property string backup: "backup" // means an account is coming from backed up data
2023-08-04 10:29:04 +00:00
}
2023-07-13 13:58:48 +00:00
}
2022-04-01 08:06:39 +00:00
readonly property QtObject validators: QtObject {
2023-07-13 13:58:48 +00:00
readonly property list < StatusValidator > keypairName: [
StatusValidator {
name: "startsWithSpaceValidator"
validate: function ( t ) { return ! t . startsWith ( " " ) }
errorMessage: qsTr ( "Keypair starting with whitespace are not allowed" )
} ,
StatusRegularExpressionValidator {
regularExpression: /^[a-zA-Z0-9\-_ ]+$/
errorMessage: errorMessages . alphanumericalExpandedRegExp
} ,
StatusMinLengthValidator {
minLength: keypair . nameLengthMin
errorMessage: qsTr ( "Keypair must be at least %n character(s)" , "" , keypair . nameLengthMin )
}
]
2022-04-01 08:06:39 +00:00
readonly property list < StatusValidator > displayName: [
2023-04-24 14:59:38 +00:00
StatusValidator {
name: "startsWithSpaceValidator"
validate: function ( t ) { return ! t . startsWith ( " " ) }
errorMessage: qsTr ( "Usernames starting with whitespace are not allowed" )
2022-04-01 08:06:39 +00:00
} ,
StatusRegularExpressionValidator {
2023-07-31 14:27:26 +00:00
regularExpression: regularExpressions . alphanumericalExpanded
2023-07-13 13:58:48 +00:00
errorMessage: errorMessages . alphanumericalExpandedRegExp
2022-04-01 08:06:39 +00:00
} ,
2023-04-24 14:59:38 +00:00
StatusMinLengthValidator {
2023-07-13 13:58:48 +00:00
minLength: keypair . nameLengthMin
2023-07-31 14:27:26 +00:00
errorMessage: qsTr ( "Username must be at least %n character(s)" , "" , keypair . nameLengthMin )
2023-04-24 14:59:38 +00:00
} ,
StatusValidator {
name: "endsWithSpaceValidator"
validate: function ( t ) { return ! t . endsWith ( " " ) }
errorMessage: qsTr ( "Usernames ending with whitespace are not allowed" )
} ,
2022-04-01 08:06:39 +00:00
// TODO: Create `StatusMaxLengthValidator` in StatusQ
StatusValidator {
name: "maxLengthValidator"
2023-07-13 13:58:48 +00:00
validate: function ( t ) { return t . length <= keypair . nameLengthMax }
errorMessage: qsTr ( "%n character(s) username limit" , "" , keypair . nameLengthMax )
2022-04-01 08:06:39 +00:00
} ,
StatusValidator {
name: "endsWith-ethValidator"
validate: function ( t ) { return ! t . endsWith ( "-eth" ) }
errorMessage: qsTr ( "Usernames ending with '-eth' are not allowed" )
} ,
StatusValidator {
name: "endsWith_ethValidator"
validate: function ( t ) { return ! t . endsWith ( "_eth" ) }
errorMessage: qsTr ( "Usernames ending with '_eth' are not allowed" )
} ,
StatusValidator {
name: "endsWith.ethValidator"
validate: function ( t ) { return ! t . endsWith ( ".eth" ) }
errorMessage: qsTr ( "Usernames ending with '.eth' are not allowed" )
} ,
StatusValidator {
name: "isAliasValidator"
validate: function ( t ) { return ! globalUtils . isAlias ( t ) }
errorMessage: qsTr ( "Sorry, the name you have chosen is not allowed, try picking another username" )
}
]
}
2022-05-07 11:45:15 +00:00
readonly property QtObject settingsSection: QtObject {
readonly property int itemSpacing: 10
2022-04-04 11:09:23 +00:00
readonly property int radius: 8
2022-05-07 11:45:15 +00:00
readonly property int mainHeaderFontSize: 28
2022-04-04 11:09:23 +00:00
readonly property int subHeaderFontSize: 15
2022-08-16 09:19:15 +00:00
readonly property int importantInfoFontSize: 18
2022-04-04 11:09:23 +00:00
readonly property int infoFontSize: 15
readonly property int infoLineHeight: 22
readonly property int infoSpacing: 5
readonly property int itemHeight: 64
readonly property int leftMargin: 64
readonly property int rightMargin: 64
readonly property int topMargin: 64
readonly property int bottomMargin: 64
readonly property QtObject notificationsBubble: QtObject {
readonly property int previewAnonymous: 0
readonly property int previewNameOnly: 1
readonly property int previewNameAndMessage: 2
}
readonly property QtObject notifications: QtObject {
2022-05-10 13:15:56 +00:00
readonly property string sendAlertsValue: "SendAlerts"
readonly property string deliverQuietlyValue: "DeliverQuietly"
readonly property string turnOffValue: "TurnOff"
2022-04-04 11:09:23 +00:00
}
readonly property QtObject exemptions: QtObject {
readonly property int community: 0
readonly property int oneToOneChat: 1
readonly property int groupChat: 2
}
2023-06-22 10:32:43 +00:00
property string dotSepString: '<font size="3"> • </font>'
2022-05-07 11:45:15 +00:00
}
2022-05-05 10:28:54 +00:00
readonly property QtObject ephemeralNotificationType: QtObject {
readonly property int normal: 0
readonly property int success: 1
2023-10-17 08:09:01 +00:00
readonly property int danger: 2
2022-05-05 10:28:54 +00:00
}
2022-06-02 17:47:42 +00:00
2022-07-28 17:52:19 +00:00
readonly property QtObject translationsState: QtObject {
readonly property int alpha: 0
readonly property int beta: 1
readonly property int stable: 2
}
2022-07-21 11:29:18 +00:00
readonly property QtObject keycard: QtObject {
readonly property QtObject general: QtObject {
2022-10-14 09:13:27 +00:00
readonly property string purchasePage: "https://get.keycard.tech"
2022-09-28 16:09:12 +00:00
readonly property int onboardingHeight: 460
readonly property int imageWidth: 240
readonly property int imageHeight: 240
readonly property int seedPhraseWidth: 816
readonly property int seedPhraseHeight: 228
readonly property int enterSeedPhraseWordsWidth: 868
readonly property int enterSeedPhraseWordsHeight: 60
2022-07-21 11:29:18 +00:00
readonly property int keycardPinLength: 6
2022-09-20 14:01:57 +00:00
readonly property int keycardPukLength: 12
2023-07-13 13:58:48 +00:00
readonly property int keycardNameLength: keypair . nameLengthMax
2022-10-12 17:08:59 +00:00
readonly property int keycardNameInputWidth: 448
2022-10-18 08:04:51 +00:00
readonly property int keycardPairingCodeInputWidth: 512
2022-09-20 14:01:57 +00:00
readonly property int keycardPukAdditionalSpacingOnEvery4Items: 4
readonly property int keycardPukAdditionalSpacing: 32
2022-07-21 11:29:18 +00:00
readonly property int fontSize1: 22
readonly property int fontSize2: 15
readonly property int fontSize3: 12
readonly property int seedPhraseCellWidth: 193
readonly property int seedPhraseCellHeight: 60
readonly property int seedPhraseCellNumberWidth: 24
readonly property int seedPhraseCellFontSize: 12
readonly property int buttonFontSize: 15
readonly property int pukCellWidth: 50
readonly property int pukCellHeight: 60
2022-08-31 17:09:07 +00:00
readonly property int popupWidth: 640
2022-11-07 11:43:34 +00:00
readonly property int popupHeight: 500
readonly property int popupBiggerHeight: 626
2023-08-29 14:22:41 +00:00
readonly property int titleHeight: 60
2022-08-31 17:09:07 +00:00
readonly property int messageHeight: 48
2022-09-13 10:03:25 +00:00
readonly property int footerButtonsHeight: 44
2022-09-30 19:16:15 +00:00
readonly property int loginInfoHeight1: 24
readonly property int loginInfoHeight2: 44
2022-08-31 17:09:07 +00:00
}
readonly property QtObject keyPairType: QtObject {
2022-09-02 11:04:59 +00:00
readonly property int unknown: - 1
2022-08-31 17:09:07 +00:00
readonly property int profile: 0
readonly property int seedImport: 1
readonly property int privateKeyImport: 2
2022-08-05 13:50:54 +00:00
}
readonly property QtObject shared: QtObject {
readonly property int imageWidth: 240
readonly property int imageHeight: 240
2022-07-21 11:29:18 +00:00
}
}
2023-03-08 01:56:41 +00:00
readonly property QtObject regularExpressions: QtObject {
2023-04-13 11:31:04 +00:00
readonly property var alphanumerical: /^$|^[a-zA-Z0-9]+$/
2023-07-31 14:27:26 +00:00
readonly property var alphanumericalExpanded: /^$|^[a-zA-Z0-9\-_.\u0020]+$/
2023-12-29 13:10:55 +00:00
readonly property var alphanumericalExpanded1: /^[a-zA-Z0-9\-_]+(?: [a-zA-Z0-9\-_]+)*$/
2023-06-12 09:08:37 +00:00
readonly property var alphanumericalWithSpace: /^$|^[a-zA-Z0-9\s]+$/
2023-04-04 19:57:34 +00:00
readonly property var asciiPrintable: /^$|^[!-~]+$/
readonly property var ascii: /^$|^[\x00-\x7F]+$/
2023-05-22 15:47:06 +00:00
readonly property var capitalOnly: /^$|^[A-Z]+$/
readonly property var numerical: /^$|^[0-9]+$/
2023-12-29 13:10:55 +00:00
readonly property var emoji: /\ud83c\udff4(\udb40[\udc61-\udc7a])+\udb40\udc7f|(\ud83c[\udde6-\uddff]){2}|([\#\*0-9]\ufe0f?\u20e3)|(\u00a9|\u00ae|[\u203c\u2049\u20e3\u2122\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23e9-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u261d\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u265f\u2660\u2663\u2665\u2666\u2668\u267b\u267e\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26ce\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f7-\u26fa\u26fd\u2702\u2705\u2708-\u270d\u270f\u2712\u2714\u2716\u271d\u2721\u2728\u2733\u2734\u2744\u2747\u274c\u274e\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27a1\u27b0\u27bf\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299]|\ud83c[\udc04\udccf\udd70\udd71\udd7e\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude02\ude1a\ude2f\ude32-\ude3a\ude50\ude51\udf00-\udf21\udf24-\udf93\udf96\udf97\udf99-\udf9b\udf9e-\udff0\udff3-\udff5\udff7-\udfff]|\ud83d[\udc00-\udcfd\udcff-\udd3d\udd49-\udd4e\udd50-\udd67\udd6f\udd70\udd73-\udd7a\udd87\udd8a-\udd8d\udd90\udd95\udd96\udda4\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa-\ude4f\ude80-\udec5\udecb-\uded2\uded5-\uded7\udedc-\udee5\udee9\udeeb\udeec\udef0\udef3-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0c-\udd3a\udd3c-\udd45\udd47-\ude7c\ude80-\ude88\ude90-\udebd\udebf-\udec5\udece-\udedb\udee0-\udee8\udef0-\udef8])((\ud83c[\udffb-\udfff])?(\ud83e[\uddb0-\uddb3])?(\ufe0f?\u200d([\u2000-\u3300]|[\ud83c-\ud83e][\ud000-\udfff])\ufe0f?)?)*/g ;
2023-03-08 01:56:41 +00:00
}
readonly property QtObject errorMessages: QtObject {
2023-04-13 11:31:04 +00:00
readonly property string alphanumericalRegExp: qsTr ( "Only letters and numbers allowed" )
2023-12-29 13:10:55 +00:00
readonly property string alphanumericalExpandedRegExp: qsTr ( "Only letters, numbers, underscores, periods, whitespaces and hyphens allowed" )
2024-01-23 15:35:53 +00:00
readonly property string alphanumericalExpanded1RegExp: qsTr ( "Invalid characters (A-Z and 0-9, single whitespace, hyphens and underscores only)" )
2023-07-31 14:27:26 +00:00
readonly property string alphanumericalWithSpaceRegExp: qsTr ( "Special characters are not allowed" )
2023-06-26 11:44:56 +00:00
readonly property string asciiRegExp: qsTr ( "Only letters, numbers and ASCII characters allowed" )
2024-01-23 15:35:53 +00:00
readonly property string emojRegExp: qsTr ( "Name is too cool (use A-Z and 0-9, single whitespace, hyphens and underscores only)" )
2023-03-08 01:56:41 +00:00
}
2022-08-10 08:27:45 +00:00
readonly property QtObject socialLinkType: QtObject {
readonly property int custom: 0
readonly property int twitter: 1
readonly property int personalSite: 2
readonly property int github: 3
readonly property int youtube: 4
readonly property int discord: 5
readonly property int telegram: 6
}
2023-06-06 11:59:50 +00:00
readonly property int maxNumOfSocialLinks: 20
2023-03-08 01:56:41 +00:00
readonly property int maxSocialLinkTextLength: 24
2023-03-14 02:52:16 +00:00
readonly property QtObject localPairingEventType: QtObject {
readonly property int eventUnknown: - 1
readonly property int eventConnectionError: 0
readonly property int eventConnectionSuccess: 1
readonly property int eventTransferError: 2
readonly property int eventTransferSuccess: 3
readonly property int eventReceivedAccount: 4
readonly property int eventProcessSuccess: 5
readonly property int eventProcessError: 6
}
2023-03-22 15:48:44 +00:00
readonly property QtObject addAccountPopup: QtObject {
readonly property int popupWidth: 480
readonly property int contentHeight1: 554
readonly property int contentHeight2: 642
readonly property int itemHeight: 64
2023-03-24 14:03:47 +00:00
readonly property int importPrivateKeyWarningHeight: 86
2023-03-22 15:48:44 +00:00
readonly property int labelFontSize1: 15
readonly property int labelFontSize2: 13
readonly property int footerButtonsHeight: 44
readonly property int keyPairNameMaxLength: 20
2024-02-05 10:04:20 +00:00
readonly property int keyPairAccountNameMinLength: 5
2023-03-22 15:48:44 +00:00
readonly property int stepperWidth: 242
readonly property int stepperHeight: 30
readonly property QtObject keyPairType: QtObject {
readonly property int unknown: - 1
readonly property int profile: 0
readonly property int seedImport: 1
readonly property int privateKeyImport: 2
}
readonly property QtObject predefinedPaths: QtObject {
readonly property string custom: "m/44'"
readonly property string ethereum: "m/44'/60'/0'/0"
readonly property string ethereumRopsten: "m/44'/1'/0'/0"
readonly property string ethereumLedger: "m/44'/60'/0'"
readonly property string ethereumLedgerLive: "m/44'/60'"
}
readonly property QtObject state: QtObject {
readonly property string noState: "NoState"
readonly property string main: "Main"
readonly property string selectMasterKey: "SelectMasterKey"
readonly property string enterSeedPhrase: "EnterSeedPhrase"
readonly property string enterSeedPhraseWord1: "EnterSeedPhraseWord1"
readonly property string enterSeedPhraseWord2: "EnterSeedPhraseWord2"
readonly property string enterPrivateKey: "EnterPrivateKey"
readonly property string enterKeypairName: "EnterKeypairName"
readonly property string displaySeedPhrase: "DisplaySeedPhrase"
readonly property string confirmAddingNewMasterKey: "ConfirmAddingNewMasterKey"
readonly property string confirmSeedPhraseBackup: "ConfirmSeedPhraseBackup"
}
}
2023-08-04 12:41:57 +00:00
readonly property QtObject keypairImportPopup: QtObject {
readonly property int popupWidth: 480
readonly property int contentHeight: 626
readonly property int footerButtonsHeight: 44
2023-08-09 10:41:55 +00:00
readonly property int labelFontSize1: 15
2023-08-23 07:09:16 +00:00
readonly property string instructionsLabelForQr: qsTr ( "How to display the QR code on your other device" )
readonly property string instructionsLabelForEncryptedKey: qsTr ( "How to copy the encrypted key from your other device" )
2023-08-04 12:41:57 +00:00
2023-08-21 10:58:21 +00:00
readonly property QtObject mode: QtObject {
2023-08-09 10:41:55 +00:00
readonly property int selectKeypair: 1
2023-08-23 07:09:50 +00:00
readonly property int selectImportMethod: 2
readonly property int importViaSeedPhrase: 3
readonly property int importViaPrivateKey: 4
readonly property int importViaQr: 5
readonly property int exportKeypairQr: 6
2023-08-04 12:41:57 +00:00
}
readonly property QtObject state: QtObject {
readonly property string noState: "NoState"
2023-08-09 10:41:55 +00:00
readonly property string selectKeypair: "SelectKeypair"
readonly property string selectImportMethod: "SelectImportMethod"
2023-08-21 10:58:21 +00:00
readonly property string exportKeypair: "ExportKeypair"
readonly property string importQr: "ImportQr"
2023-08-04 12:41:57 +00:00
readonly property string importSeedPhrase: "ImportSeedPhrase"
readonly property string importPrivateKey: "ImportPrivateKey"
2023-08-21 10:58:21 +00:00
readonly property string displayInstructions: "DisplayInstructions"
2023-08-04 12:41:57 +00:00
}
}
2023-03-14 02:52:16 +00:00
readonly property QtObject localPairingAction: QtObject {
readonly property int actionUnknown: 0
readonly property int actionConnect: 1
readonly property int actionPairingAccount: 2
readonly property int actionSyncDevice: 3
}
2023-10-26 21:11:20 +00:00
readonly property QtObject supportedTokenSources: QtObject {
2023-10-20 08:19:48 +00:00
readonly property string uniswap: "Uniswap Labs Default Token List"
readonly property string status: "Status Token List"
2023-10-26 21:11:20 +00:00
readonly property string custom: "custom"
}
2023-03-14 02:52:16 +00:00
enum LocalPairingState {
Idle = 0 ,
2023-04-29 10:33:08 +00:00
Transferring = 1 ,
Error = 2 ,
Finished = 3
2023-03-14 02:52:16 +00:00
}
2022-12-05 14:21:20 +00:00
readonly property var socialLinkPrefixesByType: [ // NB order must match the "socialLinkType" enum above
"" ,
"https://twitter.com/" ,
"" ,
"https://github.com/" ,
"https://www.youtube.com/" ,
"https://discordapp.com/users/" ,
"https://t.me/"
]
2022-08-18 15:59:12 +00:00
enum DiscordImportErrorCode {
2022-11-03 09:47:33 +00:00
Unknown = 1 ,
Warning = 2 ,
Error = 3
2022-08-18 15:59:12 +00:00
}
2021-07-16 05:37:07 +00:00
readonly property int communityImported: 0
readonly property int communityImportingInProgress: 1
readonly property int communityImportingError: 2
2023-10-27 20:11:10 +00:00
readonly property int communityImportingCanceled: 3
2021-07-16 05:37:07 +00:00
2020-12-11 20:38:10 +00:00
readonly property int communityChatPublicAccess: 1
readonly property int communityChatInvitationOnlyAccess: 2
readonly property int communityChatOnRequestAccess: 3
2020-05-28 21:34:04 +00:00
2021-02-12 19:27:37 +00:00
readonly property int maxNbDaysToFetch: 30
2020-10-14 12:10:21 +00:00
readonly property int fetchRangeLast24Hours: 86400
readonly property int fetchRangeLast2Days: 172800
readonly property int fetchRangeLast3Days: 259200
readonly property int fetchRangeLast7Days: 604800
2020-09-25 19:44:40 +00:00
readonly property int limitLongChatText: 500
readonly property int limitLongChatTextCompactMode: 1000
2020-12-07 17:37:39 +00:00
readonly property int notificationPopupTTL: 5000
2021-03-16 19:19:48 +00:00
readonly property string lightThemeName: "light"
readonly property string darkThemeName: "dark"
2020-10-15 11:53:27 +00:00
readonly property int notifyAllMessages: 0
readonly property int notifyJustMentions: 1
readonly property int notifyNone: 2
2022-04-04 11:09:23 +00:00
2020-06-04 18:56:04 +00:00
2020-06-10 15:55:24 +00:00
readonly property string watchWalletType: "watch"
readonly property string keyWalletType: "key"
readonly property string seedWalletType: "seed"
readonly property string generatedWalletType: "generated"
2023-03-01 20:59:08 +00:00
readonly property QtObject walletConnections: QtObject {
readonly property string collectibles: "collectibles"
readonly property string blockchains: "blockchains"
readonly property string market: "market"
}
enum ConnectionStatus {
Success = 0 ,
Failure = 1 ,
Retrying = 2
}
2023-01-10 13:04:23 +00:00
readonly property string dummyText: "Dummy"
2021-03-30 14:35:53 +00:00
readonly property string windows: "windows"
readonly property string linux: "linux"
2023-02-02 13:54:35 +00:00
readonly property string mac: "osx"
2021-03-30 14:35:53 +00:00
2020-08-25 18:44:29 +00:00
// Transaction states
2020-09-03 20:43:08 +00:00
readonly property int addressRequested: 1
readonly property int declined: 2
readonly property int addressReceived: 3
readonly property int transactionRequested: 4
readonly property int transactionDeclined: 5
readonly property int pending: 6
readonly property int confirmed: 7
2020-08-25 18:44:29 +00:00
2020-09-25 16:52:06 +00:00
readonly property int maxTokens: 200
2020-09-03 20:14:44 +00:00
readonly property string zeroAddress: "0x0000000000000000000000000000000000000000"
2022-06-07 13:57:09 +00:00
readonly property string networkMainnet: "Mainnet"
readonly property string networkRopsten: "Ropsten"
2020-09-25 19:05:07 +00:00
2023-07-18 14:05:22 +00:00
readonly property string ethToken: "ETH"
2023-06-12 08:39:59 +00:00
readonly property QtObject networkShortChainNames: QtObject {
readonly property string mainnet: "eth"
readonly property string arbiscan: "arb"
readonly property string optimism: "opt"
}
readonly property QtObject networkExplorerLinks: QtObject {
readonly property string etherscan: "https://etherscan.io"
readonly property string arbiscan: "https://arbiscan.io"
2024-01-15 12:27:47 +00:00
readonly property string optimism: "https://optimistic.etherscan.io"
2023-06-12 08:39:59 +00:00
readonly property string goerliEtherscan: "https://goerli.etherscan.io"
readonly property string goerliArbiscan: "https://goerli.arbiscan.io"
2024-01-15 12:27:47 +00:00
readonly property string goerliOptimism: "https://goerli-optimism.etherscan.io"
2023-10-03 13:30:42 +00:00
readonly property string sepoliaEtherscan: "https://sepolia.etherscan.io/"
2024-01-15 12:27:47 +00:00
readonly property string sepoliaArbiscan: "https://sepolia.arbiscan.io/"
readonly property string sepoliaOptimism: "https://sepolia-optimism.etherscan.io/"
2023-07-21 10:55:36 +00:00
readonly property string addressPath: "address"
readonly property string txPath: "tx"
2023-06-12 08:39:59 +00:00
}
2020-09-25 19:05:07 +00:00
readonly property string api_request: "api-request"
2020-10-02 17:30:27 +00:00
readonly property string web3SendAsyncReadOnly: "web3-send-async-read-only"
2020-12-14 20:43:46 +00:00
readonly property string web3DisconnectAccount: "web3-disconnect-account"
2020-09-25 19:05:07 +00:00
readonly property string permission_web3: "web3"
readonly property string permission_contactCode: "contact-code"
2020-10-05 16:24:43 +00:00
readonly property string personal_sign: "personal_sign"
readonly property string eth_sign: "eth_sign"
readonly property string eth_signTypedData: "eth_signTypedData"
readonly property string eth_signTypedData_v3: "eth_signTypedData_v3"
2020-11-03 21:04:57 +00:00
2021-06-04 17:38:25 +00:00
readonly property string waku_prod: "wakuv2.prod"
readonly property string waku_test: "wakuv2.test"
2023-11-01 19:34:17 +00:00
readonly property string shards_test: "shards.test"
2021-01-04 21:06:38 +00:00
readonly property int browserSearchEngineNone: 0
readonly property int browserSearchEngineGoogle: 1
readonly property int browserSearchEngineYahoo: 2
readonly property int browserSearchEngineDuckDuckGo: 3
2021-01-04 21:23:20 +00:00
readonly property int browserEthereumExplorerNone: 0
readonly property int browserEthereumExplorerEtherscan: 1
readonly property int browserEthereumExplorerEthplorer: 2
readonly property int browserEthereumExplorerBlockchair: 3
2021-02-09 14:53:54 +00:00
readonly property int repeatHeaderInterval: 2
2021-02-25 19:32:39 +00:00
2023-05-23 17:33:34 +00:00
readonly property string deepLinkPrefix: 'status-app://'
2023-05-23 20:01:39 +00:00
readonly property string externalStatusLink: 'status.app'
readonly property string externalStatusLinkWithHttps: 'https://' + externalStatusLink
readonly property string communityLinkPrefix: externalStatusLinkWithHttps + '/c/'
readonly property string userLinkPrefix: externalStatusLinkWithHttps + '/u/'
2022-01-28 08:19:49 +00:00
readonly property string statusLinkPrefix: 'https://status.im/'
2023-07-24 09:36:02 +00:00
readonly property string statusHelpLinkPrefix: ` https: //status.app/help/`
2023-08-18 15:01:49 +00:00
readonly property string downloadLink: "https://status.im/get"
2021-03-10 04:59:01 +00:00
readonly property int maxUploadFiles: 5
2021-07-29 06:22:45 +00:00
readonly property double maxUploadFilesizeMB: 10
2021-03-10 04:59:01 +00:00
2021-07-26 17:27:09 +00:00
readonly property int maxNumberOfPins: 3
2023-03-27 17:53:17 +00:00
readonly property string dataImagePrefix: "data:image"
2023-12-21 11:59:29 +00:00
readonly property var acceptedDragNDropImageExtensions: [ ".png" , ".jpg" , ".jpeg" ]
2021-03-19 20:13:12 +00:00
2022-06-01 14:34:52 +00:00
readonly property string mentionSpanTag: ` < span style = "background-color: ${Style.current.mentionBgColor};" > < a style = "color:${Style.current.mentionColor};text-decoration:none" href = 'http://' > `
2021-03-23 16:34:52 +00:00
readonly property string ens_taken: "taken"
readonly property string ens_taken_custom: "taken-custom"
readonly property string ens_owned: "owned"
2021-04-08 15:44:58 +00:00
readonly property string ens_available: "available"
2021-03-23 16:34:52 +00:00
readonly property string ens_already_connected: "already-connected"
readonly property string ens_connected: "connected"
readonly property string ens_connected_dkey: "connected-different-key"
2021-11-12 12:37:05 +00:00
readonly property string newBookmark: " "
2021-03-23 16:34:52 +00:00
readonly property var ensState: {
2022-04-04 11:26:30 +00:00
"taken" : qsTr ( "Username already taken :(" ) ,
"taken-custom" : qsTr ( "Username doesn’ t belong to you :(" ) ,
"owned" : qsTr ( "Continuing will connect this username with your chat key." ) ,
"available" : qsTr ( "✓ Username available!" ) ,
"already-connected" : qsTr ( "Username is already connected with your chat key and can be used inside Status." ) ,
"connected" : qsTr ( "This user name is owned by you and connected with your chat key. Continue to set `Show my ENS username in chats`." ) ,
"connected-different-key" : qsTr ( "Continuing will require a transaction to connect the username with your current chat key." ) ,
2021-03-23 16:34:52 +00:00
}
2022-02-21 17:07:16 +00:00
2022-03-08 16:15:50 +00:00
readonly property bool isCppApp: typeof cppApp !== "undefined" ? cppApp : false
2022-04-04 11:26:30 +00:00
2023-01-26 11:52:01 +00:00
readonly property QtObject startupErrorType: QtObject {
readonly property int unknownType: 0
readonly property int importAccError: 1
readonly property int setupAccError: 2
readonly property int convertToRegularAccError: 3
}
2022-03-23 19:51:39 +00:00
readonly property string existingAccountError: "account already exists"
2022-10-27 09:26:34 +00:00
readonly property string wrongDerivationPathError: "error parsing derivation path"
2022-09-01 15:34:27 +00:00
2022-11-21 07:30:11 +00:00
readonly property int minPasswordLength: 10
2022-10-17 10:17:25 +00:00
enum SendType {
Transfer ,
ENSRegister ,
ENSRelease ,
ENSSetPubKey ,
2022-11-23 17:58:22 +00:00
StickersBuy ,
2023-08-31 10:27:15 +00:00
Bridge ,
2023-09-20 16:07:09 +00:00
ERC721Transfer ,
Unknown
2022-10-17 10:17:25 +00:00
}
2022-11-30 18:57:00 +00:00
2022-12-19 13:02:56 +00:00
enum ErrorType {
SendAmountExceedsBalance ,
NoRoute ,
NoError
}
2023-03-30 09:42:28 +00:00
enum LoginType {
Password ,
Biometrics ,
Keycard
}
2023-07-06 08:02:41 +00:00
// Needs to match the enum above
readonly property var authenticationIconByType: [
"password" ,
"touch-id" ,
"keycard" ,
]
2023-03-30 09:42:28 +00:00
2023-04-03 11:29:36 +00:00
enum ComputeFeeErrorCode {
Success ,
Infura ,
Balance ,
Other
}
2023-01-18 09:25:36 +00:00
2023-03-20 12:29:05 +00:00
enum ShowcaseVisibility {
NoOne = 0 ,
IdVerifiedContacts = 1 ,
Contacts = 2 ,
2023-11-01 16:54:22 +00:00
Everyone = 3
}
enum ShowcaseEntryType {
Community = 0 ,
Account = 1 ,
Collectible = 2 ,
Asset = 3
2023-03-20 12:29:05 +00:00
}
2023-05-05 11:03:59 +00:00
// refers to ContractTransactionStatus and DeployState in Nim
enum ContractTransactionStatus {
2023-05-16 14:50:43 +00:00
Failed ,
InProgress ,
Completed ,
None
2023-04-11 08:09:01 +00:00
}
2023-04-18 15:08:24 +00:00
enum ContactRequestState {
None = 0 ,
Mutual = 1 ,
Sent = 2 ,
Received = 3 ,
Dismissed = 4
}
2023-11-07 22:45:47 +00:00
// these are in sync with app_service/common/types.nim
2023-05-25 14:45:46 +00:00
enum TokenType {
2023-11-07 22:45:47 +00:00
Native = 0 ,
2023-07-03 14:44:02 +00:00
ERC20 = 1 , // Asset
2023-07-04 15:11:41 +00:00
ERC721 = 2 , // Collectible
2023-11-07 22:45:47 +00:00
ERC1155 = 3 ,
Unknown = 4 ,
ENS = 5
2023-05-25 14:45:46 +00:00
}
2023-08-04 16:41:21 +00:00
enum TokenPrivilegesLevel {
Owner = 0 ,
TMaster = 1 ,
Community = 2
}
2023-06-12 13:04:39 +00:00
// Mirrors src/backend/activity.nim ActivityStatus
enum TransactionStatus {
Failed ,
Pending ,
Complete ,
2023-09-04 10:19:02 +00:00
Finalised
2023-06-12 13:04:39 +00:00
}
// Mirrors src/backend/activity.nim ActivityType
enum TransactionType {
Send ,
Receive ,
Buy ,
Swap ,
Bridge ,
2023-07-24 11:18:42 +00:00
ContractDeployment ,
2023-08-04 10:47:45 +00:00
Mint ,
2023-07-24 11:18:42 +00:00
Sell ,
2023-06-12 13:04:39 +00:00
Destroy // TODO update value when added to backend
}
2023-06-13 11:00:05 +00:00
// To-do sync with backend
enum TransactionTimePeriod {
All ,
Today ,
Yesterday ,
ThisWeek ,
LastWeek ,
ThisMonth ,
LastMonth ,
Custom
}
2023-09-04 10:19:02 +00:00
readonly property QtObject time: QtObject {
readonly property int hoursIn7Days: 168
readonly property int hoursInDay: 24
readonly property int secondsIn7Days: 604800
readonly property int secondsInHour: 3600
}
2022-11-30 18:57:00 +00:00
readonly property QtObject walletSection: QtObject {
2023-11-02 11:40:43 +00:00
readonly property string authenticationCanceled: "authenticationCanceled"
2022-11-30 18:57:00 +00:00
}
2022-12-08 21:01:08 +00:00
2023-03-20 12:29:05 +00:00
// list of symbols for which pngs are stored to avoid
// accessing not existing resources and providing
// default icon
readonly property var knownTokenPNGs: [
"aKNC" , "AST" , "BLT" , "CND" , "DNT" , "EQUAD" , "HEZ" , "LOOM" , "MTH" ,
"PAY" , "RCN" , "SALT" , "STRK" , "TRST" , "WBTC" , "AKRO" , "aSUSD" , "BLZ" ,
"COB" , "DPY" , "ETH2x-FLI" , "HST" , "LPT" , "MTL" , "PBTC" , "RDN" , "SAN" ,
"STT" , "TRX" , "WETH" , "0-native" , "aLEND" , "ATMChain" , "BNB" , "COMP" ,
"DRT" , "ETHOS" , "HT" , "LRC" , "MYB" , "PLR" , "renBCH" , "SNGLS" , "STX" ,
"TUSD" , "WINGS" , "0XBTC" , "aLINK" , "aTUSD" , "BNT" , "CUSTOM-TOKEN" ,
"DTA" , "ETH" , "ICN" , "MANA" , "NEXO" , "POE" , "renBTC" , "SNM" , "SUB" ,
"UBT" , "WTC" , "1ST" , "aMANA" , "aUSDC" , "BQX" , "CVC" , "EDG" , "EVX" ,
"ICOS" , "MCO" , "NEXXO" , "POLY" , "REN" , "SNT" , "SUPR" , "UKG" , "XAUR" ,
"aBAT" , "AMB" , "aUSDT" , "BRLN" , "DAI" , "EDO" , "FUEL" , "IOST" , "MDA" ,
"NMR" , "POWR" , "renZEC" , "SNX" , "SUSD" , "UNI" , "XPA" , "ABT" , "aMKR" ,
"aWBTC" , "BTM" , "DATA" , "EKG" , "FUN" , "KDO" , "MET" , "NPXS" , "PPP" ,
"REP" , "SOCKS" , "TAAS" , "UPP" , "XRL" , "aBUSD" , "AMPL" , "aYFI" , "BTU" ,
"DAT" , "EKO" , "FXC" , "KIN" , "MFG" , "OGN" , "PPT" , "REQ" , "SPANK" ,
"TAUD" , "USDC" , "XUC" , "ABYSS" , "ANT" , "aZRX" , "CDAI" , "DCN" , "ELF" ,
"GDC" , "KNC" , "MGO" , "OMG" , "PT" , "RHOC" , "SPIKE" , "TCAD" , "USDS" ,
"ZRX" , "aDAI" , "APPC" , "BAL" , "CDT" , "DEFAULT-TOKEN" , "EMONA" , "GEN" ,
"Kudos" , "MKR" , "OST" , "QKC" , "RLC" , "SPN" , "TGBP" , "USDT" , "ZSC" ,
"aENJ" , "aREN" , "BAM" , "Centra" , "DGD" , "ENG" , "GNO" , "LEND" , "MLN" ,
"OTN" , "QRL" , "ROL" , "STORJ" , "TKN" , "VERI" , "AE" , "aREP" , "BAND" ,
"CFI" , "DGX" , "ENJ" , "GNT" , "LINK" , "MOC" , "PAXG" , "QSP" , "R" ,
"STORM" , "TKX" , "VIB" , "aETH" , "aSNX" , "BAT" , "CK" , "DLT" , "EOS" ,
"GRID" , "LISK" , "MOD" , "PAX" , "RAE" , "SAI" , "ST" , "TNT" , "WABI"
]
2023-08-04 08:41:45 +00:00
function tokenIcon ( symbol , useDefault = true ) {
2023-03-20 12:29:05 +00:00
if ( ! ! symbol && knownTokenPNGs . indexOf ( symbol ) !== - 1 )
return Style . png ( "tokens/" + symbol )
2023-08-04 08:41:45 +00:00
if ( useDefault )
return Style . png ( "tokens/DEFAULT-TOKEN" )
return ""
2023-03-20 12:29:05 +00:00
}
2023-08-30 12:10:59 +00:00
function isDefaultTokenIcon ( url ) {
return url . indexOf ( "DEFAULT-TOKEN" ) !== - 1
}
2023-10-26 21:11:20 +00:00
function getSupportedTokenSourceImage ( key , useDefault = true ) {
if ( key === supportedTokenSources . uniswap )
return Style . png ( "tokens/UNI" )
if ( key === supportedTokenSources . status )
return Style . png ( "tokens/SNT" )
if ( useDefault )
return Style . png ( "tokens/DEFAULT-TOKEN" )
return ""
}
2022-12-08 21:01:08 +00:00
// Message outgoing status
readonly property string sending: "sending"
readonly property string sent: "sent"
readonly property string delivered: "delivered"
readonly property string expired: "expired"
readonly property string failedResending: "failedResending"
2022-12-16 09:37:08 +00:00
2023-01-16 13:37:14 +00:00
readonly property QtObject appTranslatableConstants: QtObject {
readonly property string loginAccountsListAddNewUser: "LOGIN-ACCOUNTS-LIST-ADD-NEW-USER"
readonly property string loginAccountsListAddExistingUser: "LOGIN-ACCOUNTS-LIST-ADD-EXISTING-USER"
2023-01-18 11:53:38 +00:00
readonly property string loginAccountsListLostKeycard: "LOGIN-ACCOUNTS-LIST-LOST-KEYCARD"
2023-03-22 15:48:44 +00:00
readonly property string addAccountLabelNewWatchOnlyAccount: "LABEL-NEW-WATCH-ONLY-ACCOUNT"
2023-03-30 13:00:55 +00:00
readonly property string addAccountLabelWatchOnlyAccount: "LABEL-WATCH-ONLY-ACCOUNT"
2023-03-22 15:48:44 +00:00
readonly property string addAccountLabelExisting: "LABEL-EXISTING"
readonly property string addAccountLabelImportNew: "LABEL-IMPORT-NEW"
readonly property string addAccountLabelOptionAddNewMasterKey: "LABEL-OPTION-ADD-NEW-MASTER-KEY"
readonly property string addAccountLabelOptionAddWatchOnlyAcc: "LABEL-OPTION-ADD-WATCH-ONLY-ACC"
2023-05-07 09:18:40 +00:00
readonly property string keycardAccountNameOfUnknownWalletAccount: "KEYCARD-ACCOUNT-NAME-OF-UNKNOWN-WALLET-ACCOUNT"
2023-01-16 13:37:14 +00:00
}
2023-04-06 11:11:57 +00:00
enum CommunitySettingsSections {
Overview ,
Members ,
Permissions ,
MintTokens ,
Airdrops
}
enum CommunityMembershipSubSections {
Members ,
MembershipRequests ,
RejectedMembers ,
BannedMembers
2023-08-07 13:35:14 +00:00
}
enum CommunityMembershipRequestState {
None = 0 ,
Pending ,
2023-08-21 19:07:40 +00:00
Accepted ,
2023-08-31 13:44:59 +00:00
Rejected ,
2023-08-07 13:35:14 +00:00
AcceptedPending ,
RejectedPending ,
Banned ,
Kicked ,
BannedPending ,
2023-10-04 21:41:51 +00:00
UnbannedPending ,
2023-12-04 19:14:13 +00:00
KickedPending ,
AwaitingAddress
2023-08-07 13:35:14 +00:00
}
2023-05-22 15:55:47 +00:00
readonly property QtObject walletAccountColors: QtObject {
readonly property string primary: "primary"
readonly property string purple: "purple"
readonly property string orange: "orange"
readonly property string army: "army"
readonly property string turquoise: "turquoise"
readonly property string sky: "sky"
readonly property string yellow: "yellow"
readonly property string pink: "pink"
readonly property string copper: "copper"
readonly property string camel: "camel"
readonly property string magenta: "magenta"
readonly property string yinYang: "yinYang"
readonly property string undefinedAccount: "undefined"
2023-04-06 11:11:57 +00:00
}
2023-05-26 12:54:10 +00:00
enum MutingVariations {
For15min = 1 ,
For1hr = 2 ,
For8hr = 3 ,
For1week = 4 ,
TillUnmuted = 5 ,
2023-06-07 10:54:31 +00:00
For1min = 6 ,
Unmuted = 7
2023-05-26 12:54:10 +00:00
}
2023-08-22 07:26:54 +00:00
enum LinkPreviewType {
2023-10-13 13:36:07 +00:00
NoPreview = 0 ,
Standard = 1 ,
StatusContact = 2 ,
StatusCommunity = 3 ,
StatusCommunityChannel = 4
}
enum StandardLinkPreviewType {
2023-08-22 07:26:54 +00:00
Link = 0 ,
Image = 1
}
2023-09-11 10:20:36 +00:00
2023-10-16 16:05:55 +00:00
enum UrlUnfurlingMode {
UrlUnfurlingModeAlwaysAsk = 1 ,
UrlUnfurlingModeEnableAll = 2 ,
UrlUnfurlingModeDisableAll = 3
}
2020-06-04 18:56:04 +00:00
}