code: def get_contract_instance(self, name: ContractName, address: Address) -> Contract:
          
          validate_address(address)
          validate_contract_name(name)
          try:
              self.manifest["contract_types"][name]["abi"]
          except KeyError:
              raise InsufficientAssetsError(
                  "Package does not have the ABI required to generate a contract instance "
                  f"for contract: {name} at address: {address}."
              )
          contract_kwargs = generate_contract_factory_kwargs(
              self.manifest["contract_types"][name]
          )
          canonical_address = to_canonical_address(address)
          contract_instance = self.w3.eth.contract(
              address=canonical_address, **contract_kwargs
          )
          return contract_instance
docs: Will return a ``Web3.contract`` instance generated from the contract type data available
          in ``Package.manifest`` and the provided ``address``. The provided ``address`` must be
          valid on the connected chain available through ``Package.w3``.