@ledgerhq/coin-canton
Version:
36 lines • 1.21 kB
JavaScript
const OPERATION_TYPE_MAP = {
"transfer-proposal": "TRANSFER_PROPOSAL",
"transfer-rejected": "TRANSFER_REJECTED",
"transfer-withdrawn": "TRANSFER_WITHDRAWN",
};
const TX_TYPE_MAP = {
Receive: "IN",
Initialize: "PRE_APPROVAL",
};
function getSendOperationType(transferValue, senders, partyId) {
if (transferValue === "0") {
return "FEES";
}
return senders.includes(partyId) ? "OUT" : "IN";
}
function isGatewayOperationType(value) {
return value !== undefined && Object.prototype.hasOwnProperty.call(OPERATION_TYPE_MAP, value);
}
function getOperationTypeFromDetails(operationType) {
if (!isGatewayOperationType(operationType)) {
return null;
}
const mappedType = OPERATION_TYPE_MAP[operationType];
return mappedType ?? null;
}
export function determineOperationType(operationType, txType, transferValue, senders, partyId) {
const detailsType = getOperationTypeFromDetails(operationType);
if (detailsType) {
return detailsType;
}
if (txType === "Send") {
return getSendOperationType(transferValue, senders, partyId);
}
return TX_TYPE_MAP[txType] ?? "UNKNOWN";
}
//# sourceMappingURL=operationType.js.map