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 ?
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.