UNPKG

harsta

Version:

Harsta is a contract development tool based on Hardhat, designed to streamline the development, testing, and referencing of contracts, addresses, ABIs, and contract instances.

2 lines (1 loc) 3.4 kB
import e from"pathe";import g from"pathe";import{resolveImport as y}from"resolve-import-path";var n=process.env.userRoot||process.cwd().replace(/\\/g,"/"),l=y("@harsta/client/package.json",!1,{basedir:n}),m=process.env.clientRoot||(l?g.dirname(l):void 0),h=process.env.packRoot||g.dirname(y("harsta/package.json",!0)),s=g.resolve(h,"./generated");var r={userFragments:"./config/fragments",userTest:"./test",userSources:"./contracts",harstaCache:"./.harsta/cache",harstaArtifacts:"./.harsta/artifacts",harstaDeployments:"./.harsta/deployments",harstaFragments:"./.harsta/exports",packDeploy:"./deploy",packSources:"./contracts",generateFactories:"./factories",generateContracts:"./contracts",generateFactoriesTypechain:"./_typechain-factories",generateContractsTypechain:"./_typechain-contracts",generateFactoriesTypechainIndexTS:"./_typechain-factories/index.ts",generateContractsTypechainIndexTS:"./_typechain-contracts/index.ts",generateFactoriesFragments:"./_fragments-factories",generateContractsFragments:"./_fragments-contracts",generateChains:"./chains",generateChainsIndexTS:"./chains/index.ts",generateAddresses:"./addresses",generateAddressesIndexTS:"./addresses/index.ts"},o={userFragments:e.resolve(n,r.userFragments),userTest:e.resolve(n,r.userTest),userSources:e.resolve(n,r.userSources),harstaCache:e.resolve(n,r.harstaCache),harstaArtifacts:e.resolve(n,r.harstaArtifacts),harstaDeployments:e.resolve(n,r.harstaDeployments),harstaFragments:e.resolve(n,r.harstaFragments),packDeploy:e.resolve(h,r.packDeploy),packSources:e.resolve(h,r.packSources),generateFactories:e.resolve(s,r.generateFactories),generateContracts:e.resolve(s,r.generateContracts),generateFactoriesTypechain:e.resolve(s,r.generateFactoriesTypechain),generateContractsTypechain:e.resolve(s,r.generateContractsTypechain),generateFactoriesTypechainIndexTS:e.resolve(s,r.generateFactoriesTypechainIndexTS),generateContractsTypechainIndexTS:e.resolve(s,r.generateContractsTypechainIndexTS),generateFactoriesFragments:e.resolve(s,r.generateFactoriesFragments),generateContractsFragments:e.resolve(s,r.generateContractsFragments),generateChains:e.resolve(s,r.generateChains),generateChainsIndexTS:e.resolve(s,r.generateChainsIndexTS),generateAddresses:e.resolve(s,r.generateAddresses),generateAddressesIndexTS:e.resolve(s,r.generateAddressesIndexTS)};function k(t){let c={},p={apiKey:{},customChains:[]};for(let i in t.networks){let a=t.networks[i];c[i]={url:a.rpc,chainId:a.id,...a.deploy},a.verify&&(p.apiKey[i]=a.verify.key||" ",c[i].verify={etherscan:{apiUrl:a.verify.api||`${a.verify.uri}/api`,apiKey:a.verify.key||""}},p.customChains.push({chainId:a.id,network:i,urls:{apiURL:a.verify.api||`${a.verify.uri}/api`,browserURL:a.explorer?.url||a.verify.uri||""}}))}let d={sourcify:{enabled:!1},...t,etherscan:p,networks:c,paths:{sources:o.packSources,deploy:o.packDeploy,tests:o.userTest,cache:o.harstaCache,artifacts:o.harstaArtifacts,deployments:o.harstaDeployments},typechain:{outDir:o.generateFactoriesTypechain},abiExporter:{path:o.generateFactoriesFragments}};return d.harsta=t,d}function S(t,c){return{id:t.id,name:t.name,nativeCurrency:t.currency,rpcUrls:{default:{http:[t.rpc].filter(Boolean)},public:{http:[t.rpc].filter(Boolean)}},...t.explorer?{blockExplorers:{default:t.explorer}}:{},iconUrl:t?.icon,testnet:t.testnet,addresses:c||{}}}export{n as a,l as b,m as c,h as d,s as e,r as f,o as g,k as h,S as i};