Edo2net is not the default protocol in sandbox.
You will need to provide the --protocol-hash arg:
tezos-sandbox mini \
--size 1 \
--number-of-boot 2 \
--protocol-hash PtEdo2ZkT9oKpimTah6x2embF25oss54njMuPzkJTEi5RqfdZFA \
--until-level 2_000_000 \
The contents of tickets is completely transparent and can't be used in this way. In general, you cannot assume that on-chain data is unreadable by users. You can add encrypted data on chain, but to to decrypt it you will have to supply the key -- effectively making the data public.
You could use an off-chain oracle that feeds the hidden data to the contract. ...
Can you give more information on your setup? Like which hash do you use?
In the latest versions of BLS12-381 (used by Edo), it has been decided to pad the bytes for Fr elements. Some users requested it because it was a bit annoying to push 32 bytes if the elements should represent 5 for instance (which can be encoded with 0x05). Previous versions of BLS12-...