Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if (requestState.extensions[ExtensionTypes.ID.CONTENT_DATA]) {
throw Error(`This extension has already been created`);
}
if (!extensionAction.parameters.content) {
throw Error('No content has been given for the extension content-data');
}
// Deep copy to not mutate the input parameter
const copiedExtensionState: RequestLogicTypes.IExtensionStates = Utils.deepCopy(extensionsState);
copiedExtensionState[ExtensionTypes.ID.CONTENT_DATA] = {
events: [],
id: ExtensionTypes.ID.CONTENT_DATA,
type: ExtensionTypes.TYPE.CONTENT_DATA,
values: { content: extensionAction.parameters.content },
version: CURRENT_VERSION,
};
return copiedExtensionState;
}
) {
throw Error('refundAddress is not a valid address');
}
return {
events: [
{
name: 'create',
parameters: {
paymentAddress: extensionAction.parameters.paymentAddress,
refundAddress: extensionAction.parameters.refundAddress,
},
timestamp,
},
],
id: extensionAction.id,
type: ExtensionTypes.TYPE.PAYMENT_NETWORK,
values: {
paymentAddress: extensionAction.parameters.paymentAddress,
refundAddress: extensionAction.parameters.refundAddress,
},
version: CURRENT_VERSION,
};
}
function applyCreation(extensionAction: ExtensionTypes.IAction, timestamp: number): ExtensionTypes.IState {
return {
events: [
{
name: 'create',
parameters: {
paymentInfo: extensionAction.parameters.paymentInfo,
refundInfo: extensionAction.parameters.refundInfo,
},
timestamp,
},
],
id: extensionAction.id,
type: ExtensionTypes.TYPE.PAYMENT_NETWORK,
values: {
paymentInfo: extensionAction.parameters.paymentInfo,
receivedPaymentAmount: '0',
receivedRefundAmount: '0',
refundInfo: extensionAction.parameters.refundInfo,
sentPaymentAmount: '0',
sentRefundAmount: '0',
},
version: CURRENT_VERSION,
};
}
extension => extension.type === ExtensionTypes.TYPE.PAYMENT_NETWORK,
);