@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
25 lines • 1.09 kB
JavaScript
import { ProviderType } from '../ProviderType.js';
import { HyperlaneSmartProvider } from '../SmartProvider/SmartProvider.js';
const DEFAULT_RETRY_OPTIONS = {
maxRetries: 3,
baseRetryDelayMs: 250,
};
export const defaultEthersV5ProviderBuilder = (rpcUrls, network, retryOverride) => {
const provider = new HyperlaneSmartProvider(network, rpcUrls, undefined, retryOverride || DEFAULT_RETRY_OPTIONS);
return { type: ProviderType.EthersV5, provider };
};
export const defaultGnosisTxBuilderProviderBuilder = (rpcUrls, network, retryOverride) => ({
type: ProviderType.GnosisTxBuilder,
provider: defaultEthersV5ProviderBuilder(rpcUrls, network, retryOverride)
.provider,
});
export function defaultFuelProviderBuilder(rpcUrls, _network) {
if (!rpcUrls.length)
throw new Error('No RPC URLs provided');
throw new Error('TODO fuel support');
}
// Kept for backwards compatibility
export function defaultProviderBuilder(rpcUrls, network) {
return defaultEthersV5ProviderBuilder(rpcUrls, network).provider;
}
//# sourceMappingURL=ethersV5.js.map