@coinbase/agentkit
Version:
Coinbase AgentKit core primitives
37 lines (36 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.superfluidActionProvider = exports.SuperfluidActionProvider = void 0;
const actionProvider_1 = require("../actionProvider");
const superfluidStreamActionProvider_1 = require("./superfluidStreamActionProvider");
const superfluidPoolActionProvider_1 = require("./superfluidPoolActionProvider");
const superfluidQueryActionProvider_1 = require("./superfluidQueryActionProvider");
const superfluidWrapperActionProvider_1 = require("./superfluidWrapperActionProvider");
const superfluidSuperTokenCreatorActionProvider_1 = require("./superfluidSuperTokenCreatorActionProvider");
/**
* SuperfluidActionProvider aggregates all Superfluid-related actions into a single provider.
*/
class SuperfluidActionProvider extends actionProvider_1.ActionProvider {
/**
* Superfluid Action Provider constructor
*/
constructor() {
super("superfluid", [
new superfluidStreamActionProvider_1.SuperfluidStreamActionProvider(),
new superfluidPoolActionProvider_1.SuperfluidPoolActionProvider(),
new superfluidQueryActionProvider_1.SuperfluidQueryActionProvider(),
new superfluidWrapperActionProvider_1.SuperfluidWrapperActionProvider(),
new superfluidSuperTokenCreatorActionProvider_1.SuperfluidSuperTokenCreatorActionProvider(),
]);
/**
* Supports Base mainnet and Base sepolia like the underlying Superfluid providers.
*
* @param network - network to check
* @returns - A boolean if this action provider supports the network
*/
this.supportsNetwork = (network) => network.networkId === "base-mainnet" || network.networkId === "base-sepolia";
}
}
exports.SuperfluidActionProvider = SuperfluidActionProvider;
const superfluidActionProvider = () => new SuperfluidActionProvider();
exports.superfluidActionProvider = superfluidActionProvider;