@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
22 lines • 828 B
JavaScript
import { custom } from "viem";
export 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) => 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);
};
//# sourceMappingURL=split.js.map