Subject of the issue
The
opt_in method should have the
allow_actions=['OptIn']. Without it, app caller won't be opted in to the contract.
Change code from:
@arc4.abimethod()
def opt_in(self) -> None:
pass
to
@arc4.abimethod(allow_actions=["OptIn"])
def opt_in(self) -> None:
pass