def _precompute_subaddr(state: State, account: int, indices): """ Precomputes subaddresses for account (major) and list of indices (minors) Subaddresses have to be stored in encoded form - unique representation. Single point can have multiple extended coordinates representation - would not match during subaddress search. """ monero.compute_subaddresses(state.creds, account, indices, state.subaddresses)
async def _init_step(s, ctx, msg): s.creds = await misc.get_creds(ctx, msg.address_n, msg.network_type) await confirms.require_confirm_keyimage_sync(ctx) s.num_outputs = msg.num s.expected_hash = msg.hash s.enc_key = crypto.random_bytes(32) for sub in msg.subs: monero.compute_subaddresses(s.creds, sub.account, sub.minor_indices, s.subaddresses) return MoneroKeyImageExportInitAck()