zkverifyjs
Version:
Submit proofs to zkVerify and query proof state with ease using our npm package.
61 lines (60 loc) • 2.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.initializeTransactionInfo = void 0;
const enums_1 = require("../../../enums");
/**
* Initializes a transaction object based on its type.
*/
const initializeTransactionInfo = (transactionType, options, batchCount) => {
const baseInfo = {
blockHash: '',
status: enums_1.TransactionStatus.Pending,
txHash: undefined,
};
switch (transactionType) {
case enums_1.TransactionType.Verify:
return {
...baseInfo,
proofType: options.proofOptions?.proofType,
domainId: options.domainId,
aggregationId: undefined,
statement: null,
};
case enums_1.TransactionType.BatchVerify:
return {
...baseInfo,
proofType: options.proofOptions?.proofType,
batchCount: batchCount ?? 0,
};
case enums_1.TransactionType.VKRegistration:
return {
...baseInfo,
proofType: options.proofOptions?.proofType,
statementHash: undefined,
};
case enums_1.TransactionType.DomainRegistration:
return {
...baseInfo,
domainId: undefined,
};
case enums_1.TransactionType.DomainHold:
case enums_1.TransactionType.DomainUnregister:
case enums_1.TransactionType.DomainRemoveSubmitters:
return {
...baseInfo,
domainId: undefined,
domainState: '',
};
case enums_1.TransactionType.DomainAddSubmitters:
return {
...baseInfo,
};
case enums_1.TransactionType.Aggregate:
return {
...baseInfo,
};
default:
throw new Error(`Unsupported transaction type: ${transactionType}`);
}
};
exports.initializeTransactionInfo = initializeTransactionInfo;