@tenderly/hardhat-integration
Version:
Hardhat plugin for integration with Tenderly
64 lines • 3.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.composeApiURL = composeApiURL;
exports.composeBrowserURL = composeBrowserURL;
const constants_1 = require("@tenderly/api-client/common/constants");
const vnet_type_1 = require("../tenderly/vnet-type");
function composeApiURL(hre, endpointId, chainId, vnetType) {
switch (vnetType) {
case vnet_type_1.VnetType.NULL_TYPE:
return "";
case vnet_type_1.VnetType.FORK_V1:
case vnet_type_1.VnetType.FORK_V2:
return (`${constants_1.TENDERLY_API_BASE_URL}/api/v1/` +
`account/${hre.config.tenderly?.username}/` +
`project/${hre.config.tenderly?.project}/` +
`etherscan/verify/` +
`fork/${endpointId}`);
case vnet_type_1.VnetType.DEVNET_V1:
case vnet_type_1.VnetType.DEVNET_V2:
return (`${constants_1.TENDERLY_API_BASE_URL}/api/v1/` +
`account/${hre.config.tenderly?.username}/` +
`project/${hre.config.tenderly?.project}/` +
`etherscan/verify/` +
`devnet/${endpointId}`);
case vnet_type_1.VnetType.TESTNET:
return (`${constants_1.TENDERLY_API_BASE_URL}/api/v1/` +
`account/${hre.config.tenderly?.username}/` +
`project/${hre.config.tenderly?.project}/` +
`etherscan/verify/` +
`testnet/${endpointId}`);
case vnet_type_1.VnetType.PUBLIC_NETWORK:
return (`${constants_1.TENDERLY_API_BASE_URL}/api/v1/` +
`account/${hre.config.tenderly?.username}/` +
`project/${hre.config.tenderly?.project}/` +
`etherscan/verify/` +
`network/${chainId}` +
`${hre.config.tenderly?.privateVerification === true ? "" : "/public"}`);
default:
throw new Error("Unknown VnetType.");
}
}
function composeBrowserURL(hre, endpointId, chainId, vnetType) {
switch (vnetType) {
case vnet_type_1.VnetType.NULL_TYPE:
return "";
case vnet_type_1.VnetType.FORK_V1:
case vnet_type_1.VnetType.FORK_V2:
case vnet_type_1.VnetType.DEVNET_V1:
case vnet_type_1.VnetType.DEVNET_V2:
case vnet_type_1.VnetType.TESTNET:
return (`${constants_1.TENDERLY_API_BASE_URL}/api/v1/` +
`account/${hre.config.tenderly?.username}/` +
`project/${hre.config.tenderly?.project}/` +
`vnet-type/${vnetType}/${endpointId}/browser-url`);
case vnet_type_1.VnetType.PUBLIC_NETWORK:
return (`${constants_1.TENDERLY_API_BASE_URL}/api/v1/` +
`account/${hre.config.tenderly?.username}/` +
`project/${hre.config.tenderly?.project}/` +
`vnet-type/${vnetType}/${chainId}/browser-url`);
default:
throw new Error("Unknown VnetType.");
}
}
//# sourceMappingURL=url-composer.js.map