I just wondering to know in order to move erc20 token inside a bip32/HD wallet from child to parent to we need to spend any gas? (example: imagine I made a HD wallet which supporting ERC20 tokens and my HD wallet structure has a parent and 10 child, if one of child receive few ERC20 token from an ICO under his/her public key and want to move/transfer it to parent public key does he needs to spend any Gas in ETH or same token ?
If you want to transfer ERC20 token from child to parent of hd wallet, then gas used in ETH from you child wallet.
One private key corresponds always to one public key and one address. HD wallets are just a way or organizing your private keys in an easier-to-manage way.
In the end a HD wallet is just a collection of different private keys and therefore a collection of different public addresses. In order to transfer tokens (or Ethers) between different addresses you need Ethers to pay for the gas costs.