Implement a storage abstraction:
interface MetadataStorageProvider {
upload(input): Promise<{
uri: string;
}>;
}Support one working provider.
Do not tightly couple NearFun to one vendor.
Validate:
MIME type
file size
name
symbol
description
links
Sanitize input.
Never expose private storage credentials in browser JavaScript.