[x] SDK functions for calling all the extrinsic functions in pallet-protos (protos.upload(), protos.set_metadata(), protos.transfer()` etc.). Note: The SDK functions will use the aforementioned "TypeScript enums" for some of its parameters.
[x] Include error handling
[ ] Note: for proto.upload(), if duplicate proto exists, return the proto hash and info
Acceptance criteria: