mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-29 23:58:06 +01:00
99 lines
1.8 KiB
JavaScript
99 lines
1.8 KiB
JavaScript
/**
|
|
* Takes in a parsed Sign-In with Ethereum Message (EIP-4361)
|
|
* and generates an array of label-value pairs
|
|
*
|
|
* @param {object} parsedMessage - A parsed SIWE message with message contents
|
|
* @param {Function} t - i18n function
|
|
* @returns {Array} An array of label-value pairs with the type of the value as the label
|
|
*/
|
|
export const formatMessageParams = (parsedMessage, t) => {
|
|
const output = [];
|
|
|
|
const {
|
|
statement,
|
|
uri,
|
|
version,
|
|
chainId,
|
|
nonce,
|
|
issuedAt,
|
|
expirationTime,
|
|
notBefore,
|
|
requestId,
|
|
resources,
|
|
} = parsedMessage;
|
|
|
|
if (statement) {
|
|
output.push({
|
|
label: t('SIWELabelMessage'),
|
|
value: statement,
|
|
});
|
|
}
|
|
|
|
if (uri) {
|
|
output.push({
|
|
label: t('SIWELabelURI'),
|
|
value: uri,
|
|
});
|
|
}
|
|
|
|
if (version) {
|
|
output.push({
|
|
label: t('SIWELabelVersion'),
|
|
value: version,
|
|
});
|
|
}
|
|
|
|
if (chainId) {
|
|
output.push({
|
|
label: t('SIWELabelChainID'),
|
|
value: chainId,
|
|
});
|
|
}
|
|
|
|
if (nonce) {
|
|
output.push({
|
|
label: t('SIWELabelNonce'),
|
|
value: nonce,
|
|
});
|
|
}
|
|
|
|
if (issuedAt) {
|
|
output.push({
|
|
label: t('SIWELabelIssuedAt'),
|
|
value: issuedAt,
|
|
});
|
|
}
|
|
|
|
if (expirationTime) {
|
|
output.push({
|
|
label: t('SIWELabelExpirationTime'),
|
|
value: expirationTime,
|
|
});
|
|
}
|
|
|
|
if (notBefore) {
|
|
output.push({
|
|
label: t('SIWELabelNotBefore'),
|
|
value: notBefore,
|
|
});
|
|
}
|
|
|
|
if (requestId) {
|
|
output.push({
|
|
label: t('SIWELabelRequestID'),
|
|
value: requestId,
|
|
});
|
|
}
|
|
|
|
if (resources && resources.length > 0) {
|
|
output.push({
|
|
label: t('SIWELabelResources', [resources.length]),
|
|
value: resources
|
|
.reduce((previous, resource) => `${previous}${resource}\n`, '')
|
|
.trim(),
|
|
});
|
|
}
|
|
|
|
return output;
|
|
};
|