require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../utils/tron.utils.cjs`),r=require(`../utils/create-provider.cjs`),i=require(`../../constants/contracts.constants.cjs`);let a=require(`ethers`);var o=(n,r)=>{let a=e.networkRegistry[r];if(!a)throw Error(t.transactionErrorCodes.UNSUPPORTED_NETWORK);let o=i.contractMetadataMapping[n];if(!o)throw Error(`Unsupported contractType: ${n}`);return o(a.contractData)},s=(e,t,r,i)=>{let s=o(e,t);if(!s.abi)throw Error(`No ABI configured for contractType: ${e}`);if(s.address&&r)throw Error(`Overriding address is not supported for contractType: ${e}`);let c=s.address??r;if(!c)throw Error(`No contractAddress configured for contractType: ${e}`);return new a.ethers.Contract(n.addressToHexFormat(c),s.abi,i)},c=(e,t,n=void 0)=>s(t,e,n,r.createJsonRpcProvider(e));exports.getContract=s,exports.getContractMetadata=o,exports.getContractWithFetcherByChainId=c;