This is the only transaction that would be publicly linked to your address. As it consistis of you moving an asset like ETH or ERC20 from your public address into the Arcane Contract. During this transaction the asset is moved to a stealth address that your wallet controls.
There are two function that would enable this. For shielding ETH:
/** * @notice Shield a token by transferring it to a stealth address * @dev The ETH sent to this function would be made only accessible to the receiver/stealthAddress * * Emits an {Announcement} event indicating the transfer * * @param _receiver The stealth address to transfer the token to * @param _announcementData The transfer announcement data */functionshieldETH(address_receiver,AnnouncementDatacalldata_announcementData) externalpayable;
For shielding ERC20:
/** * @notice Shield a token by transferring it to a stealth address * @dev The tokens sent to this function would be made only accessible to the receiver/stealthAddress * * Emits an {Announcement} event indicating the transfer * * @param _token The token to transfer * @param _receiver The stealth address to transfer the token to * @param _announcementData The transfer announcement data */functionshieldToken(address_token,address_receiver,uint256_amount,AnnouncementDatacalldata_announcementData) external;