diff --git a/packages/js/client-config-builder/src/bundles/getDefaultConfig.ts b/packages/js/client-config-builder/src/bundles/getDefaultConfig.ts index 2c863a3f6e..2f23e11e05 100644 --- a/packages/js/client-config-builder/src/bundles/getDefaultConfig.ts +++ b/packages/js/client-config-builder/src/bundles/getDefaultConfig.ts @@ -16,6 +16,38 @@ import { loggerPlugin } from "@polywrap/logger-plugin-js"; import { fileSystemResolverPlugin } from "@polywrap/fs-resolver-plugin-js"; import { concurrentPromisePlugin } from "concurrent-plugin-js"; +export const defaultIpfsProviders = [ + "https://ipfs.wrappers.io", + "https://ipfs.io", +]; + +export const defaultWrappers = { + sha3: "wrap://ens/goerli/sha3.wrappers.eth", + uts46: "wrap://ens/goerli/uts46-lite.wrappers.eth", + graphNode: "wrap://ens/goerli/graph-node.wrappers.eth", + ensTextRecordResolver: + "wrap://ipfs/QmfRCVA1MSAjUbrXXjya4xA9QHkbWeiKRsT7Um1cvrR7FY", +}; + +export const defaultPackages = { + ipfs: "wrap://ens/ipfs.polywrap.eth", + ensResolver: "wrap://ens/ens-resolver.polywrap.eth", + ethereum: "wrap://ens/ethereum.polywrap.eth", + http: "wrap://ens/http.polywrap.eth", + httpResolver: "wrap://ens/http-resolver.polywrap.eth", + logger: "wrap://plugin/logger", + fileSystem: "wrap://ens/fs.polywrap.eth", + fileSystemResolver: "wrap://ens/fs-resolver.polywrap.eth", + ipfsResolver: "wrap://ens/ipfs-resolver.polywrap.eth", + concurrent: "wrap://plugin/concurrent", +}; + +export const defaultInterfaces = { + uriResolver: "wrap://ens/uri-resolver.core.polywrap.eth", + concurrent: "wrap://ens/goerli/interface.concurrent.wrappers.eth", + logger: "wrap://ens/wrappers.polywrap.eth:logger@1.0.0", +}; + export const getDefaultConfig = (): ClientConfig => { return { envs: [ @@ -26,7 +58,7 @@ export const getDefaultConfig = (): ClientConfig => { }, }, { - uri: new Uri("wrap://ens/ipfs.polywrap.eth"), + uri: new Uri(defaultPackages.ipfs), env: { provider: defaultIpfsProviders[0], fallbackProviders: defaultIpfsProviders.slice(1), @@ -47,29 +79,28 @@ export const getDefaultConfig = (): ClientConfig => { to: new Uri(defaultWrappers.graphNode), }, { - from: new Uri("wrap://ens/wrappers.polywrap.eth:logger@1.0.0"), - to: new Uri("wrap://plugin/logger"), + from: new Uri(defaultInterfaces.logger), + to: new Uri(defaultPackages.logger), }, ], interfaces: [ { - interface: new Uri("wrap://ens/uri-resolver.core.polywrap.eth"), + interface: new Uri(defaultInterfaces.uriResolver), implementations: [ - new Uri("wrap://ens/ipfs-resolver.polywrap.eth"), - new Uri("wrap://ens/ens-resolver.polywrap.eth"), - new Uri("wrap://ens/fs-resolver.polywrap.eth"), - new Uri("wrap://ens/http-resolver.polywrap.eth"), - // ens-text-record-resolver - new Uri("wrap://ipfs/QmfRCVA1MSAjUbrXXjya4xA9QHkbWeiKRsT7Um1cvrR7FY"), + new Uri(defaultPackages.ipfsResolver), + new Uri(defaultPackages.ensResolver), + new Uri(defaultPackages.fileSystemResolver), + new Uri(defaultPackages.httpResolver), + new Uri(defaultWrappers.ensTextRecordResolver), ], }, { - interface: new Uri("wrap://ens/wrappers.polywrap.eth:logger@1.0.0"), - implementations: [new Uri("wrap://plugin/logger")], + interface: new Uri(defaultInterfaces.logger), + implementations: [new Uri(defaultPackages.logger)], }, { - interface: new Uri(defaultWrappers.concurrentInterface), - implementations: [new Uri("wrap://plugin/concurrent")], + interface: new Uri(defaultInterfaces.concurrent), + implementations: [new Uri(defaultPackages.concurrent)], }, ], packages: getDefaultPlugins(), @@ -78,32 +109,20 @@ export const getDefaultConfig = (): ClientConfig => { }; }; -export const defaultIpfsProviders = [ - "https://ipfs.wrappers.io", - "https://ipfs.io", -]; - -export const defaultWrappers = { - sha3: "wrap://ens/goerli/sha3.wrappers.eth", - uts46: "wrap://ens/goerli/uts46-lite.wrappers.eth", - graphNode: "wrap://ens/goerli/graph-node.wrappers.eth", - concurrentInterface: "wrap://ens/goerli/interface.concurrent.wrappers.eth", -}; - export const getDefaultPlugins = (): IUriPackage[] => { return [ // IPFS is required for downloading Polywrap packages { - uri: new Uri("wrap://ens/ipfs.polywrap.eth"), + uri: new Uri(defaultPackages.ipfs), package: ipfsPlugin({}), }, // ENS is required for resolving domain to IPFS hashes { - uri: new Uri("wrap://ens/ens-resolver.polywrap.eth"), + uri: new Uri(defaultPackages.ensResolver), package: ensResolverPlugin({}), }, { - uri: new Uri("wrap://ens/ethereum.polywrap.eth"), + uri: new Uri(defaultPackages.ethereum), package: ethereumPlugin({ connections: new Connections({ networks: { @@ -120,32 +139,32 @@ export const getDefaultPlugins = (): IUriPackage[] => { }), }, { - uri: new Uri("wrap://ens/http.polywrap.eth"), + uri: new Uri(defaultPackages.http), package: httpPlugin({}), }, { - uri: new Uri("wrap://ens/http-resolver.polywrap.eth"), + uri: new Uri(defaultPackages.httpResolver), package: httpResolverPlugin({}), }, { - uri: new Uri("wrap://plugin/logger"), + uri: new Uri(defaultPackages.logger), // TODO: remove this once types are updated package: loggerPlugin({}) as IWrapPackage, }, { - uri: new Uri("wrap://ens/fs.polywrap.eth"), + uri: new Uri(defaultPackages.fileSystem), package: fileSystemPlugin({}), }, { - uri: new Uri("wrap://ens/fs-resolver.polywrap.eth"), + uri: new Uri(defaultPackages.fileSystemResolver), package: fileSystemResolverPlugin({}), }, { - uri: new Uri("wrap://ens/ipfs-resolver.polywrap.eth"), + uri: new Uri(defaultPackages.ipfsResolver), package: ipfsResolverPlugin({}), }, { - uri: new Uri("wrap://plugin/concurrent"), + uri: new Uri(defaultPackages.concurrent), package: concurrentPromisePlugin({}), }, ];