The Status module that consumes go-ethereum https://status.im
Go to file
Alex Jbanca 43b2c3b7ce
perf(sqlCipher): Increase cipher page size to 8192 (#3591)
* perf(sqlCipher): Increase cipher page size to 8192

Increasing the cipher page size to 8192 requires DB re-encryption. The process is as follows:
//Login to v3 DB
PRAGMA key = 'key';
PRAGMA cipher_page_size = 1024"; // old Page size
PRAGMA cipher_hmac_algorithm = HMAC_SHA1";
PRAGMA cipher_kdf_algorithm = PBKDF2_HMAC_SHA1";
PRAGMA kdf_iter = kdfIterationsNumber";

//Create V4 DB with increased page size
ATTACH DATABASE 'newdb.db' AS newdb KEY 'key';
PRAGMA newdb.cipher_page_size = 8192; // new Page size
PRAGMA newdb.cipher_hmac_algorithm = HMAC_SHA1"; // same as in v3
PRAGMA newdb.cipher_kdf_algorithm = PBKDF2_HMAC_SHA1"; // same as in v3
PRAGMA newdb.kdf_iter = kdfIterationsNumber"; // same as in v3
SELECT sqlcipher_export('newdb');
DETACH DATABASE newdb;

//Login to V4 DB
...

Worth noting:
The DB migration will happen on the first successful login.
The new DB version will have a different name to be able to distinguish between different DB versions.Versions naming mirrors sqlcipher major version (naming conventions used by sqlcipher), meaning that we're migrating from V3 to V4 DB (even if we're not fully aligned with V4 standards). The DB is not migrated to the v4 standard `SHA512` due to performance reasons. Our custom `SHA1` implementation is fully optimised for perfomance.

* perf(sqlCipher): Fixing failing tests

Update the new DB file format in Delete account, Change password and Decrypt database flows

* perf(SQLCipher): Increase page size - send events to notify when the DB re-encryption starts/ends
2023-06-13 18:20:21 +03:00
.dependabot Patch/dependabot protocol (#1980) 2020-05-19 00:14:02 +01:00
.github fix documentation url in the checklist (#2770) 2022-07-22 22:12:29 +05:30
.vscode chore: fix vscode test run 2022-11-17 10:40:26 +01:00
_assets ci: bump tests timeout to 30 minutes 2023-06-02 12:38:43 +02:00
_docs rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
_examples go-waku integration (#2247) 2021-06-16 16:19:45 -04:00
abi-spec Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
account chore: `password` removed from the `DeleteAccount` function 2023-05-09 10:48:44 +02:00
api perf(sqlCipher): Increase cipher page size to 8192 (#3591) 2023-06-13 18:20:21 +03:00
appdatabase perf(sqlCipher): Increase cipher page size to 8192 (#3591) 2023-06-13 18:20:21 +03:00
appmetrics feat: make kdf iterations configurable when creating a multiaccount (#2796) 2022-09-27 16:27:20 -04:00
build/bin add .gitkeep to build/bin so it always exists 2019-03-05 14:22:00 +01:00
cmd chore: Add ColorId for Wallet accounts that can be shared with mobile (#3521) 2023-06-02 17:06:51 +02:00
common Move services to status-node 2021-07-20 10:57:38 +02:00
config config: add new Push notifications fleet 2023-05-19 17:29:18 +01:00
connection Address linter issues 2022-03-28 13:14:12 +01:00
contracts feat(Wallet): add UniswapV2 and UniswapV3 contracts 2023-06-05 12:08:18 -03:00
db Address linter issues 2022-03-28 13:14:12 +01:00
discovery chore: upgrade go-waku and log about messages sent/received 2022-11-09 17:39:17 +03:00
eth-node Add permission checks for ENS token permissions 2023-06-05 13:10:48 +02:00
exchanges URL unfurling (initial implementation) (#3471) 2023-05-18 15:43:06 -03:00
exportlogs Upgrade geth to 1.9.5 and Whisper (#1617) 2019-10-04 17:21:24 +02:00
extkeys Upgrade geth 2021-07-20 10:57:38 +02:00
images feat: add and populate IdentityImage::LocalURL 2023-06-07 22:32:50 +02:00
ipfs fix: add mode build param and change ipfs gateway accordingly 2022-08-26 18:57:55 +02:00
logutils fix(logrotation): fix issue where all logs are kept in archive (#3465) 2023-05-11 14:36:01 -04:00
mailserver Changes necessary to restore wallet on mobile app 2023-05-25 21:08:34 +02:00
metrics Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
mobile Added API endpoint 2023-06-02 15:55:48 +01:00
multiaccounts feat(wallet) filter activity by status 2023-06-10 11:43:00 +02:00
node Allow setting up wallet with new config 2023-05-19 13:23:21 +01:00
nodecfg fix: add missing waku2 store columns 2023-01-26 13:47:47 -04:00
notifier Notifier package to interact with gorush notifications (#910) 2018-05-08 16:30:03 +02:00
params feat(wallet): enable sequential transfers fetching by default. 2023-06-07 08:45:45 +02:00
peers synchronize display name (#2989) 2022-12-29 14:16:19 +08:00
postgres Anon Metrics Broadcast (#2198) 2021-09-01 13:02:18 +01:00
profiling test: use `T.TempDir` to create temporary test directory (#2746) 2023-04-26 21:39:51 +01:00
protocol Ensure `ChatIds` are handled by token permission requests 2023-06-13 13:42:48 +02:00
rpc fix(wallet): Fix block hash for detected blocks with ETH transfers 2023-06-05 12:08:18 -03:00
rtt rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
server feat: add and populate IdentityImage::LocalURL 2023-06-07 22:32:50 +02:00
services chore(wallet): split multitransaction command from full struct 2023-06-13 07:58:40 -03:00
signal perf(sqlCipher): Increase cipher page size to 8192 (#3591) 2023-06-13 18:20:21 +03:00
sqlite perf(sqlCipher): Increase cipher page size to 8192 (#3591) 2023-06-13 18:20:21 +03:00
static Add chainIds to revealed accounts in memberhsip requests 2023-06-12 10:49:29 +02:00
t Add chainIds to revealed accounts in memberhsip requests 2023-06-12 10:49:29 +02:00
telemetry fix: reset bandwidth stats totals every day, and send message size 2023-02-01 16:43:57 -04:00
timesource Move services to status-node 2021-07-20 10:57:38 +02:00
transactions feat: nonce management in multi tx 2023-01-12 12:56:57 +01:00
vendor chore: bump go-waku 2023-06-09 12:54:22 -04:00
waku Upgrade linter to 1.50.0 2023-01-13 17:52:03 +00:00
wakuv2 Update to FilterV2 (#3392) 2023-06-07 12:02:19 +03:00
.codeclimate.yml Re-organise the code to be more modular (#3172) 2023-03-01 17:23:17 +05:30
.dockerignore Ignore *.test files from all folders (#635) 2018-02-08 14:23:08 +02:00
.gitignore feat: add visual identity service (#2550) 2022-03-11 16:17:48 -05:00
.golangci.yml Remove protocol and eth-node submodules (#1835) 2020-02-10 12:22:37 +01:00
.travis.yml Remove Ropsten and Rinkeby test networks 2022-10-24 14:17:46 +02:00
BOOTNODE.md docs: clarify purpose and describe ports 2020-02-06 18:44:23 +01:00
CMakeLists.txt dev: allow option to force compiling for apple silicon 2022-06-30 09:42:19 +02:00
CONTRIBUTING.md rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
LICENSE.md Create LICENSE.md 2016-09-21 10:00:29 +08:00
MAILSERVER.md rcp.sh: curl wrapper for easier RPC calls 2021-08-24 11:23:25 +02:00
Makefile Add lc-proxy-wrapper dep 2023-05-24 18:48:16 +03:00
README.md Explain how to run Waku node in README (#1921) 2020-04-09 18:33:53 +02:00
RELEASING.md rename status-react to status-mobile 2022-07-17 15:37:14 +02:00
VERSION Make sure the image URL is returned when a replied message is deleted 2023-06-12 19:22:26 +01:00
WAKU.md Create WAKU.md with spec support (#1855) 2020-02-21 17:56:15 +08:00
go.mod Add chainIds to revealed accounts in memberhsip requests 2023-06-12 10:49:29 +02:00
go.sum chore: bump go-waku 2023-06-09 12:54:22 -04:00
nix.conf ci: use Nix shell to provide Android SDK for builds 2022-12-05 15:48:27 +01:00
shell.nix nix: upgrade nixpkgs to include xcodeWrapper fixes 2023-05-04 14:07:47 +02:00