openchain-sdk-yxl
Version:
openchain sdk
52 lines (49 loc) • 1.7 kB
JavaScript
;
// 预先导入所有操作类型模块
const accountSetMetadata = require('./accountSetMetadata');
const accountSetPrivilege = require('./accountSetPrivilege');
const activateAccount = require('./activateAccount');
const contractCreate = require('./contractCreate');
const contractInvokeByAsset = require('./contractInvokeByAsset');
const contractInvokeByOP = require('./contractInvokeByOP');
const createLog = require('./createLog');
const ctp10TokenApprove = require('./ctp10TokenApprove');
const ctp10TokenAssign = require('./ctp10TokenAssign');
const ctp10TokenChangeOwner = require('./ctp10TokenChangeOwner');
const ctp10TokenIssue = require('./ctp10TokenIssue');
const ctp10TokenTransfer = require('./ctp10TokenTransfer');
const ctp10TokenTransferFrom = require('./ctp10TokenTransferFrom');
const issueAsset = require('./issueAsset');
const payAsset = require('./payAsset');
const payCoin = require('./payCoin');
// 创建操作类型到模块的映射表
const operationModules = {
accountSetMetadata,
accountSetPrivilege,
activateAccount,
contractCreate,
contractInvokeByAsset,
contractInvokeByOP,
createLog,
ctp10TokenApprove,
ctp10TokenAssign,
ctp10TokenChangeOwner,
ctp10TokenIssue,
ctp10TokenTransfer,
ctp10TokenTransferFrom,
issueAsset,
payAsset,
payCoin
};
/**
* 获取操作模块
* @param {string} type - 操作类型名称
* @returns {Function} - 操作模块函数
*/
module.exports = function getOperationModule(type) {
const module = operationModules[type];
if (!module) {
throw new Error(`Operation type '${type}' not found. Available types: ${Object.keys(operationModules).join(', ')}`);
}
return module;
};