@alchemy/aa-core
Version:
viem based SDK that enables interactions with ERC-4337 Smart Accounts. ABIs are based off the definitions generated in @account-abstraction/contracts
26 lines • 958 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.split = void 0;
const viem_1 = require("viem");
const split = (params) => {
const overrideMap = params.overrides.reduce((accum, curr) => {
curr.methods.forEach((method) => {
if (accum.has(method) && accum.get(method) !== curr.transport) {
throw new Error("A method cannot be handled by more than one transport");
}
accum.set(method, curr.transport);
});
return accum;
}, new Map());
return (opts) => (0, viem_1.custom)({
request: async (args) => {
const transportOverride = overrideMap.get(args.method);
if (transportOverride != null) {
return transportOverride(opts).request(args);
}
return params.fallback(opts).request(args);
},
})(opts);
};
exports.split = split;
//# sourceMappingURL=split.js.map