After discussing the properties, we found that it is better to put the verification into a new object, so its more upgradable in the future.
e.g.
load for better loading performance
"profileImage": [ // One image in different sizes, representing the profile.
{ // example of a hash based image verification
"width": Number,
"height": Number,
"url": 'string',
"verification": {
"method": 'keccak256(bytes)',
"data": 'string', // bytes32 hash of the image
}
},
{ // example of a signature based image verification
"width": Number,
"height": Number,
"url": 'string',
"verification": {
"method": 'ecdsa',
"data": 'string', // signer that signed the bytes of the image
"source": 'string' // e.g url returning the signature of the signed image
}
},
{ // example of a NFT/smart contract based image
"address": Address, // the address of an LSP7 or LSP8
"tokenId": 32bytes // (optional) if token contract is an LSP7
}
],
@lykhonis This will be the necessary change before UP will go for mainnet, please make sure your app also is able to decode these new properties, if you use them.
After discussing the properties, we found that it is better to put the verification into a new object, so its more upgradable in the future. e.g.