Currently, interaction with Credentials, Presentations etc always requires you use o1js types. This is inconvenient and makes the library feel less like a "standard". Input values should be numbers, booleans, bytes, strings, bigints and not Field, Bool, Bytes, PublicKey etc.
Changing the implementation to do this is not hard because we have fromValue() / toValue() on every provable type which performs exactly this conversion. The only challenge is that it requires a rewrite of almost all types to also represent the "value" types (sometimes it might be enough to only represent the value types and skip the provable types)
Currently, interaction with Credentials, Presentations etc always requires you use o1js types. This is inconvenient and makes the library feel less like a "standard". Input values should be numbers, booleans, bytes, strings, bigints and not Field, Bool, Bytes, PublicKey etc.
Changing the implementation to do this is not hard because we have
fromValue()/toValue()on every provable type which performs exactly this conversion. The only challenge is that it requires a rewrite of almost all types to also represent the "value" types (sometimes it might be enough to only represent the value types and skip the provable types)