mirror of
https://github.com/pezkuwichain/pezkuwi-telegram-miniapp.git
synced 2026-07-31 11:05:42 +00:00
96cda97635
check-deposits hits the isolate's CPU ceiling on almost every run — 17 limit events across 20 invocations in the last 20 minutes — and when it does, the supervisor cancels the worker and the scan stops partway. Deposits after the cut-off simply are not seen until some later run happens to reach them. The cause is in deriveTronAddress: it calls mnemonicToSeedSync per user, which is PBKDF2 with 2048 iterations. The seed depends only on the mnemonic, so with 51 accounts that cost was paid 51 times a minute to produce the identical seed. Only the derivation path varies per user. Derive the master key once and reuse it. Measured over the 51 accounts we actually scan: 418ms -> 58ms, a 7.2x drop in the part that was blowing the budget. Verified the addresses are unchanged: old and new paths produce identical private keys for every index tested, including repeated indexes in one run, which is what would expose derive() mutating the parent key. It does not.