Thanks for All your answer.
Finally I found out that How discovery works on this location and in yours answer, too
'''
(
https://github.com/dan-da/hd-wallet-addrs)
In plain english, discovery works by mathematically deriving the addresses for your wallet in order and checking if each one has been used or not.
A slightly more technical description of the process:
starting from the extended public key (xpub)
for receive addresses, then change addresses
derive batches of xpub child addresses (bip32: 0/*)
for each batch
check if each address has received funds (API call to oracle/server)
until 20 (default) unused addresses in a row are found.
'''
thanks so much