openchain-sdk-yxl-ts
Version:
OpenChain SDK for browser
52 lines (48 loc) • 1.68 kB
JavaScript
// 预先导入所有操作类型模块,确保添加.js扩展名
import accountSetMetadata from './accountSetMetadata.js';
import accountSetPrivilege from './accountSetPrivilege.js';
import activateAccount from './activateAccount.js';
import contractCreate from './contractCreate.js';
import contractInvokeByAsset from './contractInvokeByAsset.js';
import contractInvokeByOP from './contractInvokeByOP.js';
import createLog from './createLog.js';
import ctp10TokenApprove from './ctp10TokenApprove.js';
import ctp10TokenAssign from './ctp10TokenAssign.js';
import ctp10TokenChangeOwner from './ctp10TokenChangeOwner.js';
import ctp10TokenIssue from './ctp10TokenIssue.js';
import ctp10TokenTransfer from './ctp10TokenTransfer.js';
import ctp10TokenTransferFrom from './ctp10TokenTransferFrom.js';
import issueAsset from './issueAsset.js';
import payAsset from './payAsset.js';
import payCoin from './payCoin.js';
// 创建操作类型到模块的映射表
const operationModules = {
accountSetMetadata,
accountSetPrivilege,
activateAccount,
contractCreate,
contractInvokeByAsset,
contractInvokeByOP,
createLog,
ctp10TokenApprove,
ctp10TokenAssign,
ctp10TokenChangeOwner,
ctp10TokenIssue,
ctp10TokenTransfer,
ctp10TokenTransferFrom,
issueAsset,
payAsset,
payCoin
};
/**
* 获取操作模块
* @param {string} type - 操作类型名称
* @returns {Function} - 操作模块函数
*/
export default 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;
};